:root{--yl-primary: #2563eb;--yl-primary-hover: #1d4ed8;--yl-primary-active: #1e40af;--yl-primary-soft: #eff6ff;--yl-primary-border: rgba(37, 99, 235, .24);--yl-cyan: #06b6d4;--yl-cyan-soft: #ecfeff;--yl-purple: #7c3aed;--yl-purple-soft: #f5f3ff;--yl-success: #10b981;--yl-success-soft: #ecfdf5;--yl-warning: #f59e0b;--yl-warning-soft: #fffbeb;--yl-danger: #ef4444;--yl-danger-soft: #fef2f2;--yl-text-main: #0f172a;--yl-text-strong: #1e293b;--yl-text-regular: #334155;--yl-text-secondary: #64748b;--yl-text-muted: #94a3b8;--yl-bg-page: #f6f8fc;--yl-bg-page-2: #f8fafc;--yl-bg-card: #ffffff;--yl-bg-soft: #f8fafc;--yl-bg-hover: #f8fbff;--yl-border: #e2e8f0;--yl-border-soft: #edf2f7;--yl-radius-xs: 6px;--yl-radius-sm: 8px;--yl-radius-md: 12px;--yl-radius-lg: 16px;--yl-radius-xl: 20px;--yl-radius-pill: 999px;--yl-shadow-card: 0 10px 30px rgba(15, 23, 42, .06);--yl-shadow-card-hover: 0 16px 40px rgba(37, 99, 235, .12);--yl-shadow-panel: 0 20px 60px rgba(15, 23, 42, .08);--yl-shadow-drawer: -12px 0 32px rgba(15, 23, 42, .12);--yl-sidebar-width: 232px;--yl-header-height: 76px;--yl-font-family: Inter, "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--yl-number-font: "DIN Alternate", "DIN", Inter, "Roboto Mono", system-ui, sans-serif;color:var(--yl-text-main);background:var(--yl-bg-page);font-family:var(--yl-font-family);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;min-height:100vh;color:var(--yl-text-main);background:radial-gradient(circle at 8% 0%,rgba(37,99,235,.09),transparent 30%),radial-gradient(circle at 92% 8%,rgba(6,182,212,.08),transparent 28%),linear-gradient(180deg,#fbfdff 0%,var(--yl-bg-page) 42%,#f8fafc 100%);-webkit-font-smoothing:antialiased}button{font:inherit}.icon-button{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:0;background:#fff;color:var(--yl-text-main);cursor:pointer}.icon-button:hover{border-color:var(--yl-primary);background:var(--yl-primary-soft);color:var(--yl-primary)}input[type=date]{cursor:pointer}.shell{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}@media(min-width:821px){.authenticated-shell,.authenticated-shell .app-layout{height:100vh;min-height:0;overflow:hidden}.authenticated-shell .app-sidebar,.authenticated-shell .app-main{min-height:0;overscroll-behavior-y:contain}}.app-header{position:fixed;top:0;right:0;left:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px;padding:18px clamp(20px,4vw,48px);background:var(--yl-primary);color:#f7fbf5}.header-title-row{display:flex;max-width:100%;flex-wrap:nowrap;align-items:center;gap:8px}.header-brand{display:grid;flex:1 1 min(58vw,760px);max-width:min(58vw,760px);min-width:0;gap:6px}.version-badge{display:inline-grid;flex:0 0 auto;min-height:28px;grid-template-columns:auto;align-items:center;border:1px solid rgba(22,119,255,.2);border-radius:7px;padding:5px 10px;background:#fff;box-shadow:0 5px 14px #1677ff1a;color:var(--yl-primary);white-space:nowrap}.version-badge__number{font-size:12px;font-weight:850;line-height:1}.header-title{min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;font-size:clamp(24px,2.2vw,30px);line-height:1.15;font-weight:700}.header-subtitle{max-width:100%;color:#b7d8c3;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.eyebrow{margin:0 0 6px;color:#b7d8c3;font-size:13px}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.2;font-weight:700}h2{font-size:17px;line-height:1.3}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:max-content;margin-left:auto}.global-notice{position:fixed;left:50%;top:96px;transform:translate(-50%);z-index:20;display:inline-flex;max-width:min(520px,calc(100vw - 32px));min-height:42px;align-items:center;gap:9px;border:1px solid var(--yl-primary-border);border-radius:8px;padding:10px 12px;background:#fff;box-shadow:0 10px 28px #173d3424;color:var(--yl-text-main);font-size:13px;overflow-wrap:anywhere}.global-notice.ok{border-color:#6f9b7b;color:#27633c}.global-notice.error{border-color:#d8a29a;background:#fff7f5;color:#7a2f25}.global-notice button{min-height:28px;border:1px solid currentColor;border-radius:6px;padding:4px 8px;background:transparent;color:inherit;cursor:pointer}.current-user{display:flex;max-width:min(520px,42vw);align-items:center;justify-content:flex-end;gap:7px;color:#ecf5ee;font-size:13px;line-height:1.35;text-align:right;overflow-wrap:anywhere}.logout-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:7px 12px;background:#ffffff1a;color:#f7fbf5;cursor:pointer;white-space:nowrap}.account-password-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:7px 10px;background:transparent;color:#f7fbf5;cursor:pointer;white-space:nowrap}.account-password-button:hover{border-color:#ffffff6b;background:#ffffff1a}.logout-button:hover{border-color:#ffffff6b;background:#ffffff29}.app-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;padding-top:86px}.app-sidebar{position:sticky;top:86px;height:calc(100vh - 86px);overflow-y:auto;border-right:1px solid var(--yl-border);background:#fbfdfb;padding:16px 14px 18px}.sidebar-nav-title{margin-bottom:12px;border-bottom:1px solid #edf1ea;padding:4px 8px 12px;color:#607266;font-size:12px;font-weight:700;letter-spacing:0}.sidebar-nav{display:grid;gap:12px}.sidebar-group{display:grid;gap:5px;border-radius:10px;padding:2px}.sidebar-group:has(.sidebar-group-title[data-expanded=true]){background:#f4f8f4}.sidebar-group-title{display:inline-flex;width:100%;align-items:center;justify-content:space-between;gap:8px;border:0;min-height:44px;border-radius:8px;padding:9px 8px;background:transparent;color:var(--yl-primary);cursor:pointer;font-size:15px;font-weight:700;text-align:left}.sidebar-group-title:hover{background:#eef6ef}.sidebar-group-title span{flex:1}.sidebar-group-title:after{content:"▸";display:inline-grid;width:16px;height:16px;place-items:center;border:0;border-radius:0;color:#607266;font-size:13px;line-height:1}.sidebar-group-title[data-expanded=true]:after{content:"▾"}.sidebar-sub-item{display:inline-flex;min-height:38px;align-items:center;justify-content:flex-start;gap:7px;border:1px solid transparent;border-radius:8px;padding:8px 10px 8px 38px;background:transparent;color:var(--yl-primary);cursor:pointer;font-size:14px;font-weight:500;text-align:left}.sidebar-sub-item:hover{background:#edf6ef}.sidebar-sub-item.selected,.sidebar-sub-item.active{border-color:var(--yl-primary);background:var(--yl-primary);color:#fff}.app-main{width:100%;min-width:0;height:calc(100vh - 86px);overflow-y:auto;padding-bottom:28px}.client-switch-actions{display:inline-flex;align-items:center;gap:6px}.client-switch-actions button{display:inline-flex;flex:0 0 auto;min-height:34px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.34);border-radius:6px;padding:0 10px;background:#ffffff14;color:inherit;cursor:pointer;font:inherit;font-size:12px;white-space:nowrap}.client-switch-actions button:hover{background:#ffffff29}@media(max-width:980px){.client-switch-actions button span{display:none}.client-switch-actions button{width:34px;padding:0}}.workspace-grid{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:18px;padding:24px}.login-shell{display:grid;min-height:calc(100vh - var(--app-header-height, 88px));place-items:start center;padding:48px 16px 42px}.login-panel{width:min(420px,calc(100vw - 32px));max-width:420px}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:6px;color:#607266;font-size:13px}.login-form input{width:100%;min-height:42px;border:1px solid var(--yl-border);border-radius:6px;padding:9px 10px;background:#fff;color:var(--yl-text-main);font:inherit}.login-form .primary-button{width:100%;min-height:44px;justify-content:center}.dev-login-panel{display:grid;gap:12px;max-width:420px;margin-top:18px;border-top:1px solid #edf1ea;padding-top:4px}.finance-band{margin:22px clamp(16px,4vw,56px) 0}.app-main>.finance-band,.app-main>.dashboard-panel,.app-main>.settings-page,.app-main>.import-export-panel,.app-main>.entitlement-page{width:calc(100% - 48px);margin-left:24px;margin-right:24px}.entitlement-page{display:grid;gap:18px;margin-top:22px}.entitlement-hero{display:flex;min-height:132px;align-items:center;justify-content:space-between;gap:24px;border:1px solid #d9e6fb;border-radius:8px;padding:24px 28px;background:#f8fbff;color:#10264f}.entitlement-hero p,.entitlement-hero h2,.entitlement-hero span{margin:0}.entitlement-hero p{margin-bottom:6px;color:#1677ff;font-size:13px;font-weight:700}.entitlement-hero h2{margin-bottom:8px;font-size:24px;line-height:1.25}.entitlement-hero span{color:#64748b;font-size:14px}.entitlement-version{display:grid;min-width:128px;gap:4px;border-left:1px solid #dbe8fa;padding-left:24px;text-align:right}.entitlement-version small,.entitlement-summary-grid small,.entitlement-summary-grid span{color:#64748b;font-size:12px}.entitlement-version strong{color:#1677ff;font-size:22px}.entitlement-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.entitlement-summary-grid article{display:grid;min-width:0;gap:7px;border:1px solid #dbe5f2;border-radius:8px;padding:18px;background:#fff}.entitlement-summary-grid strong{overflow:hidden;color:#10264f;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.entitlement-period{display:flex;min-width:0;align-items:baseline;gap:7px;white-space:nowrap}.entitlement-period strong{flex:0 1 auto;font-size:15px}.entitlement-period span{flex:0 0 auto}.entitlement-section{padding:22px}.local-service-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;border:1px solid #dbe5f2;border-radius:8px;padding:8px;background:#fff}.local-service-tabs button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:7px;padding:8px 9px;background:#f6f9fd;color:#52657f;font-size:13px;font-weight:700}.local-service-tabs button:hover{border-color:#bfd6f6;background:#f0f6ff;color:#1677ff}.local-service-tabs button.active{border-color:#1677ff;background:#1677ff;color:#fff;box-shadow:0 7px 16px #1677ff29}.local-service-section-panel{min-height:310px;margin-top:14px}.local-service-section-panel .panel-title{align-items:flex-start}.local-service-section-panel .panel-title p{max-width:820px;margin:7px 0 0;color:#64748b;font-size:13px;font-weight:400;line-height:1.65}.local-service-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 18px;padding:0;list-style:none}.local-service-steps li{position:relative;display:flex;min-width:0;align-items:flex-start;gap:10px;border:1px solid #dbe5f2;border-radius:8px;padding:14px;background:#fbfdff}.local-service-steps li>span{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border-radius:50%;background:#e8eef6;color:#52657f;font-size:12px;font-weight:800}.local-service-steps li.is-complete>span{background:#e6f8f0;color:#12805c}.local-service-steps li.is-warning>span{background:#fff3dd;color:#b56d00}.local-service-steps strong,.local-service-steps small{display:block}.local-service-steps strong{color:#19375f;font-size:13px}.local-service-steps small{margin-top:6px;color:#6b7f99;font-size:11px;line-height:1.55}.local-service-boundary,.local-service-technical-notice,.local-service-last-check{display:flex;align-items:flex-start;gap:9px;border-radius:7px;padding:11px 12px;color:#52657f;background:#f4f8fd;font-size:12px;line-height:1.6}.local-service-boundary svg,.local-service-technical-notice svg,.local-service-last-check svg{flex:0 0 auto;margin-top:1px;color:#1677ff}.local-service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.local-service-status-line{display:flex;min-height:74px;align-items:center;gap:11px;border:1px solid #dbe5f2;border-radius:8px;padding:14px;background:#fbfdff}.local-service-status-line.is-success>svg{color:#12805c}.local-service-status-line.is-warning>svg{color:#c37a08}.local-service-status-line strong,.local-service-status-line small{display:block}.local-service-status-line strong{color:#19375f;font-size:13px}.local-service-status-line small{margin-top:5px;color:#6b7f99;font-size:11px}.local-service-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0 0 18px}.local-service-facts>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;border-bottom:1px solid #e7edf5;padding:10px 0}.local-service-facts dt{color:#6b7f99;font-size:12px}.local-service-facts dd{margin:0;color:#19375f;font-size:13px;font-weight:700;overflow-wrap:anywhere}.local-service-facts.is-technical{grid-template-columns:1fr;margin-top:14px}.local-service-update-card{display:flex;align-items:center;gap:15px;margin-bottom:16px;border:1px solid #cfe0f7;border-radius:8px;padding:18px;background:#f7fbff}.local-service-update-card>svg{color:#1677ff}.local-service-update-card small,.local-service-update-card strong,.local-service-update-card span{display:block}.local-service-update-card small,.local-service-update-card span{color:#64748b;font-size:12px}.local-service-update-card strong{margin:4px 0 6px;color:#19375f;font-size:20px}.local-service-empty-state{display:grid;min-height:190px;place-items:center;align-content:center;gap:9px;border:1px dashed #cbd9ea;border-radius:8px;padding:28px;background:#fbfdff;text-align:center}.local-service-empty-state svg{color:#8496ad}.local-service-empty-state strong{color:#19375f}.local-service-empty-state span{max-width:680px;color:#6b7f99;font-size:12px;line-height:1.7}.local-service-record-table{overflow:hidden;border:1px solid #dbe5f2;border-radius:8px}.local-service-record-table [role=row]{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;min-height:46px;align-items:center;border-bottom:1px solid #e7edf5}.local-service-record-table [role=row]:last-child{border:0}.local-service-record-table [role=columnheader]{color:#64748b;background:#f6f9fd;font-size:11px;font-weight:700}.local-service-record-table [role=cell]{color:#334e72;font-size:12px}.local-service-record-table [role=cell],.local-service-record-table [role=columnheader]{height:100%;display:flex;align-items:center;padding:10px 12px}.local-service-record-table b.is-success{color:#12805c}.local-service-record-table b.is-warning{color:#b56d00}.local-service-technical-drawer{gap:0}.local-version-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.local-release-notes{margin-top:16px;padding:16px 18px;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-md);background:#fbfdff}.local-release-notes h3,.local-release-notes p{margin:0}.local-release-notes p{margin-top:6px;color:var(--yl-text-secondary)}.local-release-notes ul{display:grid;gap:8px;margin:14px 0 0;padding-left:20px;color:var(--yl-text-primary)}@media(max-width:1420px){.local-service-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1120px){.local-service-tabs,.local-service-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.local-service-detail-grid,.local-service-facts{grid-template-columns:1fr}}.entitlement-quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.entitlement-quota-grid article{display:grid;gap:10px;border:1px solid #e2e8f0;border-radius:8px;padding:15px;background:#fbfdff}.entitlement-quota-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.entitlement-quota-grid span{color:#52657f;font-size:13px}.entitlement-quota-grid b{color:#10264f;font-size:13px;white-space:nowrap}.entitlement-quota-grid i{height:7px;overflow:hidden;border-radius:999px;background:#eaf0f7}.entitlement-quota-grid em{display:block;height:100%;border-radius:inherit;background:#1677ff}.entitlement-category+.entitlement-category{margin-top:20px}.entitlement-category h3{margin:0 0 10px;color:#334155;font-size:14px}.entitlement-category>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.entitlement-category article{display:flex;min-width:0;align-items:center;gap:10px;border:1px solid #dce6f3;border-radius:8px;padding:13px;background:#fbfdff;color:#1677ff}.entitlement-category article.disabled{background:#f8fafc;color:#94a3b8}.entitlement-category article span{display:grid;min-width:0;gap:3px}.entitlement-category article b{overflow:hidden;color:#1e293b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.entitlement-category article small{color:currentColor;font-size:11px}@media(max-width:1200px){.entitlement-summary-grid,.entitlement-category>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-main>.entitlement-page{width:calc(100% - 24px);margin:12px}.entitlement-hero{align-items:flex-start;padding:20px}.entitlement-version{min-width:90px;padding-left:14px}.entitlement-summary-grid,.entitlement-quota-grid,.entitlement-category>div{grid-template-columns:1fr}}.app-main>.dashboard-panel{margin-top:22px}.workspace-grid.wide{grid-template-columns:minmax(0,1fr);align-items:start}.workspace-grid.single-column{grid-template-columns:minmax(0,1fr)}.panel{width:100%;border:1px solid var(--yl-border);border-radius:8px;background:#fff;padding:18px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--yl-primary)}.panel-title.split{justify-content:space-between}.panel-title-main{display:inline-flex;min-width:0;align-items:center;gap:9px}.primary-button.inline.title-action{margin-top:0;white-space:nowrap}.panel-title.compact{margin-bottom:12px}.project-operation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;border:1px solid var(--yl-border);border-radius:8px;padding:12px;background:var(--yl-bg-soft)}.project-operation-toolbar strong{color:var(--yl-primary);font-size:14px}.project-operation-toolbar p{margin-top:4px;color:#607266;font-size:13px}.project-bulk-action-bar,.archive-bulk-action-bar{align-items:flex-start;margin:12px 0 14px}.project-bulk-action-bar .button-row,.archive-bulk-action-bar .button-row{margin-top:0;justify-content:flex-end}.project-context-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;border-bottom:1px solid #edf1ea;padding-bottom:12px}.project-context-tabs button{min-height:34px;border:1px solid var(--yl-border);border-radius:8px;padding:7px 12px;background:#fff;color:var(--yl-primary);cursor:pointer;font-size:14px}.project-context-tabs button.active{border-color:var(--yl-primary);background:var(--yl-primary);color:#fff}.project-overview-panel{display:grid;gap:12px;margin-top:16px;border:1px solid #d9e4dc;border-radius:12px;padding:16px;background:#fbfdfb}.company-profile-card{margin-bottom:16px}.company-form-grid .wide-field,.wide-field{grid-column:1 / -1}.inline-meta{display:inline-flex;align-items:center;margin-top:0}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-button,.primary-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--yl-primary-border);border-radius:6px;padding:9px 12px;background:var(--yl-bg-soft);color:var(--yl-primary);cursor:pointer}.role-button:hover:not(:disabled),.primary-button:hover:not(:disabled){border-color:#4d8068;background:#edf6ef}.role-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55}.primary-button{margin-top:16px;background:var(--yl-primary);color:#fff;border-color:var(--yl-primary)}.nav-link-button{text-decoration:none}.primary-button.danger{background:#7a2f25;border-color:#7a2f25}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.stats-grid span{min-height:36px;border:1px solid var(--yl-border);border-radius:6px;padding:8px;background:var(--yl-bg-soft);color:var(--yl-text-main);font-size:13px}.finance-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-entry-row{margin-top:2px}.dashboard-panel{margin:22px clamp(16px,4vw,56px) 0}.dashboard-title{justify-content:space-between}.dashboard-state{display:flex;min-height:48px;align-items:center;gap:10px;border:1px solid var(--yl-border);border-radius:8px;padding:12px;background:var(--yl-bg-soft);color:var(--yl-text-main);overflow-wrap:anywhere}.content-loading-state{display:flex;min-height:160px;align-items:center;justify-content:center;gap:10px;border:0;padding:24px;background:transparent;box-shadow:none;color:var(--yl-text-secondary)}.app-main>.content-loading-state{width:calc(100% - 48px);margin:24px}.content-loading-state.compact{min-height:80px;padding:12px}.content-loading-state .spin{color:var(--yl-primary)}.dashboard-state.error{border-color:#d8a29a;background:#fff7f5;color:#7a2f25}.context-notice{display:flex;align-items:center;gap:10px;margin-bottom:14px;border:1px solid #d7c76f;border-radius:8px;padding:12px;background:#fffbea;color:#5d4b10;font-size:14px;overflow-wrap:anywhere}.dashboard-summary-grid,.dashboard-metric-grid,.dashboard-section-grid{display:grid;gap:10px}.dashboard-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.dashboard-summary-grid span,.dashboard-metric-grid span,.dashboard-card span{min-height:38px;border:1px solid var(--yl-border);border-radius:6px;padding:9px 10px;background:var(--yl-bg-soft);color:var(--yl-text-main);font-size:13px;overflow-wrap:anywhere}.dashboard-section{margin-top:16px}.dashboard-metric-grid,.dashboard-focus-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.dashboard-metric-card,.metric-card{display:grid;gap:7px;min-height:118px;border:1px solid #d8e5ee;border-radius:12px;padding:16px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 10px 24px #112f520f}.dashboard-metric-card span,.metric-card-title{min-height:0;border:0;border-radius:0;padding:0;background:transparent;color:#5f7184;font-size:13px;font-weight:700}.dashboard-metric-card strong,.metric-card-value{display:inline-flex;max-width:100%;align-items:baseline;gap:4px;overflow:hidden;color:#0b2545;font-size:clamp(22px,2vw,26px);line-height:1.1;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.metric-card-value.compact{font-size:clamp(20px,1.8vw,24px);letter-spacing:-.02em}.dashboard-metric-card small,.metric-card-subtitle{color:#667085;font-size:12px;line-height:1.45}.dashboard-focus-grid .metric-card{min-height:104px;gap:5px;padding:12px 14px}.dashboard-focus-grid .metric-card-title{font-size:12px}.dashboard-focus-grid .metric-card-value{font-size:clamp(18px,1.45vw,22px);line-height:1.15}.dashboard-focus-grid .metric-card-value.compact{font-size:clamp(16px,1.3vw,20px)}.dashboard-focus-grid .metric-card-subtitle{font-size:11px;line-height:1.35}.dashboard-metric-card.warning{border-color:#f2c477;background:#fffaf0}.dashboard-metric-card.pending{border-color:#b9d6f2;background:#f2f8ff}.dashboard-section-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:16px}.dashboard-card,.dashboard-list{display:grid;gap:8px;border:1px solid var(--yl-border);border-radius:8px;padding:14px;background:#fbfdfb}.dashboard-card h3{margin:0 0 2px;color:var(--yl-primary);font-size:15px;line-height:1.3}.risk-grid{grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr)}.dashboard-risk-list,.dashboard-task-list,.dashboard-risk-board,.dashboard-task-board{display:grid;gap:10px;border:1px solid #d9e4ee;border-radius:12px;padding:16px;background:#fff;box-shadow:0 10px 24px #112f520d}.dashboard-risk-item,.dashboard-task-item,.dashboard-risk-row,.dashboard-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;border:1px solid #e3eaf2;border-radius:10px;padding:12px;background:#fbfdff}.dashboard-risk-item{border-left-width:5px}.dashboard-risk-item.risk-high{border-left-color:#b42318}.dashboard-risk-item.risk-medium{border-left-color:#d97706}.dashboard-risk-item.risk-low{border-left-color:#237a57}.dashboard-risk-main,.dashboard-task-main,.dashboard-risk-detail,.dashboard-task-detail{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#344054;font-size:13px}.dashboard-risk-main,.dashboard-task-main{grid-column:1 / -1}.dashboard-risk-main strong,.dashboard-task-main strong{color:#102a43}.dashboard-risk-detail,.dashboard-task-detail{align-items:flex-start;flex-direction:column;gap:4px}.risk-level-badge,.risk-badge,.task-status-badge,.pending-badge{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.risk-level-badge.risk-high,.risk-badge.risk-high{background:#fee4e2;color:#b42318}.risk-level-badge.risk-medium,.risk-badge.risk-medium{background:#fff4de;color:#b54708}.risk-level-badge.risk-low,.risk-badge.risk-low{background:#eaf7ef;color:#237a57}.task-status-badge,.pending-badge{background:#eaf3ff;color:#175cd3}.dashboard-list-foot{margin:2px 0 0;color:#667085;font-size:12px}.dashboard-list-item{display:grid;gap:5px;width:100%;min-height:76px;border:1px solid var(--yl-border);border-radius:7px;padding:10px;background:#fff;color:var(--yl-text-main);text-align:left;cursor:pointer;overflow-wrap:anywhere}.dashboard-list-item strong{color:var(--yl-primary)}.dashboard-list-item:hover:not(:disabled){border-color:#4d8068;background:var(--yl-bg-soft)}.dashboard-list-item:disabled{cursor:not-allowed;opacity:.6}.dashboard-list-item.risk-high{border-left:4px solid #a23a2a}.dashboard-list-item.risk-medium{border-left:4px solid #b07722}.dashboard-list-item.risk-low{border-left:4px solid #4d8068}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin:12px 0 10px}.filters-row input,.filters-row select,.form-grid input,.form-grid select,.form-grid textarea,.attachment-inline select,.single-field input,.single-field textarea{width:100%;min-height:38px;border:1px solid var(--yl-border);border-radius:6px;padding:8px 10px;background:#fff;color:var(--yl-text-main);font:inherit}.form-grid textarea,.single-field textarea{min-height:82px;resize:vertical}.project-filter-select{flex:0 0 170px;max-width:180px}.project-filter-year,.project-filter-month{flex:0 0 132px;max-width:140px}.project-filter-date{flex:0 0 168px;max-width:180px}.project-filter-keyword{flex:0 0 260px;max-width:280px}.project-filter-search{flex:0 0 150px;justify-content:center;min-height:40px;margin-top:0}.project-filter-reset{flex:0 0 112px;min-height:40px;justify-content:center}.project-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;color:#526258;font-size:13px}.project-page-size-select{width:72px;flex:0 0 72px;min-height:32px;border:0;border-radius:0;padding:0;background:transparent}.form-grid label,.single-field{display:grid;gap:6px;color:#607266;font-size:13px}.segmented{display:inline-grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px;margin-bottom:14px;border-radius:6px;background:#edf1ea;padding:4px}.segmented button{min-height:36px;border:0;border-radius:5px;background:transparent;color:var(--yl-text-main);cursor:pointer}.segmented button.selected{background:var(--yl-primary);color:#fff}.checkline{display:inline-flex;min-width:0;align-items:center;gap:8px;margin-top:12px;color:var(--yl-text-main);font-size:14px;line-height:1.4;white-space:normal}.identity-list{display:grid;gap:12px;margin:0}.identity-list div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;border-bottom:1px solid #edf1ea;padding-bottom:10px}.identity-list dt{color:#607266;font-size:13px}.identity-list dd{margin:0;color:#17201b;overflow-wrap:anywhere}.project-detail-summary{border:1px solid rgba(22,119,255,.1);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 18px 40px #0f172a0f;padding:22px 24px}.project-detail-summary__grid{display:grid;grid-template-columns:140px minmax(0,1fr);margin:0;border-top:1px solid #edf3fb}.project-detail-summary__row{display:contents}.project-detail-summary__label{border-bottom:1px solid #edf3fb;padding:14px 16px 14px 0;color:#64748b;font-size:13px;font-weight:600;line-height:1.6}.project-detail-summary__value{min-width:0;margin:0;border-bottom:1px solid #edf3fb;padding:14px 0;color:#10264f;font-size:15px;font-weight:650;line-height:1.6}.project-detail-summary__value--name{display:-webkit-box;overflow:hidden;white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-detail-summary__code,.project-detail-summary__tag{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:4px 10px;background:#eef6ff;color:#1677ff;font-size:13px;font-weight:700}.project-detail-summary__code{color:#1264f6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.project-detail-summary__tag.is-success,.approval-pill.is-success{background:#ecfdf5;color:#059669}.project-detail-summary__tag.is-warning,.approval-pill.is-warning{background:#fff7ed;color:#ea580c}.project-detail-summary__tag.is-muted,.approval-pill.is-muted{background:#f1f5f9;color:#64748b}.project-detail-summary__tag.is-danger,.approval-pill.is-danger{background:#fef2f2;color:#dc2626}.project-detail-summary__tag.is-processing,.approval-pill.is-processing{background:#eef6ff;color:#1677ff}.logs-panel{grid-column:1 / -1}.detail-panel{min-height:460px}.log-table{margin-top:16px;overflow-x:auto}.table-scroll-wrap{width:100%;margin-top:12px;overflow-x:auto;overflow-y:visible;padding-bottom:8px;scrollbar-gutter:stable}.table-scroll-hint{margin:8px 0 0;color:#607266;font-size:13px}.project-table{width:100%;min-width:1768px;border:1px solid #d9e4dc;border-right:0;border-bottom:0;background:#fff}.project-row{display:grid;grid-template-columns:52px 180px 300px 124px 240px 140px 150px 130px 120px 332px;width:100%;min-width:1768px;min-height:64px;border:0;padding:0;background:transparent;color:var(--yl-text-main);font-size:13px;text-align:center}.project-row>span{display:flex;min-width:0;align-items:center;justify-content:center;border-right:1px solid #d9e4dc;border-bottom:1px solid #d9e4dc;padding:9px 10px;background:#fff;line-height:1.35;text-align:center;overflow-wrap:anywhere}.project-row>span:nth-child(3),.project-row>span:nth-child(5){overflow:hidden;white-space:normal}.project-row>span:nth-child(2),.project-row>span:nth-child(4),.project-row>span:nth-child(6),.project-row>span:nth-child(7),.project-row>span:nth-child(8),.project-row>span:nth-child(9){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-head{color:#607266;font-size:12px;font-weight:700;text-align:center}.project-head>span{justify-content:center;background:#f2f7f3;font-weight:800}.project-item{align-items:center}.project-item:hover>span{background:var(--yl-bg-soft)}.project-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;min-width:332px}.project-actions-head,.project-actions-cell{position:sticky;right:0;z-index:2;border-left:1px solid #c7d5cb;box-shadow:-8px 0 12px #173d340f}.project-actions-head{z-index:4;background:#edf4ef}.project-item:hover>.project-actions-cell{background:var(--yl-bg-soft)}.project-actions .text-button.mini{min-height:30px;padding:5px 7px;white-space:nowrap}.project-table-empty{width:100%;min-width:1768px;border-right:1px solid #d9e4dc;border-bottom:1px solid #d9e4dc;padding:14px}.archive-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.filter-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;width:100%;margin:14px 0 10px}.filter-toolbar label{display:grid;flex:0 0 152px;gap:6px;color:#526258;font-size:13px;font-weight:700}.filter-toolbar input,.filter-toolbar select{width:100%;min-height:38px;border:1px solid var(--yl-border);border-radius:6px;padding:8px 10px;background:#fff;color:var(--yl-text-main);font:inherit}.filter-toolbar .keyword-filter{flex-basis:260px}.filter-actions{display:flex;flex:1 1 260px;align-items:center;gap:8px}.modal-backdrop{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.archive-guarantee-view-cell,.archive-guarantee-action-cell{display:flex;align-items:center;justify-content:center}.archive-guarantee-modal{display:grid;width:min(980px,calc(100vw - 40px));max-height:min(820px,calc(100vh - 40px));grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--yl-border-soft);border-radius:16px;background:#fff;box-shadow:var(--yl-shadow-drawer)}.archive-guarantee-modal:focus{outline:0}.archive-guarantee-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--yl-border-soft);padding:22px 24px 18px}.archive-guarantee-modal-header h2{margin:3px 0 4px;color:var(--yl-text-main);font-size:22px;font-weight:780}.archive-guarantee-modal-header .meta-text{margin:0}.archive-guarantee-modal-body{min-height:0;overflow-y:auto;padding:20px 24px 24px}.archive-guarantee-state{margin:0}.archive-guarantee-error{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(220,38,38,.2);border-radius:var(--yl-radius-md);padding:14px 16px;background:var(--yl-danger-soft);color:var(--yl-danger)}.archive-guarantee-error p{margin:0}.archive-guarantee-records{display:grid;gap:14px}.archive-guarantee-scope{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-md);padding:11px 14px;background:var(--yl-primary-soft);color:var(--yl-text-secondary);font-size:13px}.archive-guarantee-scope strong{color:var(--yl-primary)}.archive-guarantee-record{display:grid;gap:12px;border:1px solid var(--yl-border-soft);border-radius:12px;padding:16px;background:#fbfdff}.archive-guarantee-record-head,.archive-guarantee-summary,.archive-guarantee-transaction{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.archive-guarantee-record-head{justify-content:space-between;color:var(--yl-text-main)}.archive-guarantee-record-head span{border-radius:999px;padding:4px 9px;background:var(--yl-primary-soft);color:var(--yl-primary);font-size:12px}.archive-guarantee-summary,.archive-guarantee-transaction{color:var(--yl-text-secondary);font-size:13px}.archive-guarantee-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0}.archive-guarantee-summary div{min-width:0}.archive-guarantee-summary dt,.archive-guarantee-summary dd{display:inline;margin:0}.archive-guarantee-summary dt{color:var(--yl-text-muted)}.archive-guarantee-summary dd{color:var(--yl-text-secondary)}.archive-guarantee-summary-wide{grid-column:1 / -1}.archive-guarantee-transactions{display:grid;gap:8px;border-top:1px solid var(--yl-border-soft);padding-top:12px}.archive-guarantee-transactions-title{color:var(--yl-text-main);font-size:13px;font-weight:760}.archive-guarantee-transaction{display:grid;gap:8px;border-radius:8px;padding:10px 12px;background:#fff}.archive-guarantee-transaction-main,.archive-guarantee-transaction-meta,.archive-guarantee-attachments,.archive-guarantee-attachment{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.archive-guarantee-transaction-main{color:var(--yl-text-main)}.archive-guarantee-transaction-meta{color:var(--yl-text-secondary);font-size:12px}.archive-guarantee-attachments{align-items:flex-start;border-top:1px dashed var(--yl-border-soft);padding-top:8px}.archive-guarantee-attachments-label{color:var(--yl-text-muted);font-size:12px;white-space:nowrap}.archive-guarantee-attachment{min-width:min(100%,280px);justify-content:space-between;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-md);padding:6px 8px;background:#fbfdff}.archive-guarantee-attachment-name{min-width:0;max-width:280px;overflow:hidden;color:var(--yl-text-secondary);text-overflow:ellipsis;white-space:nowrap}.guarantee-detail-attachment-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.archive-guarantee-attachment-empty{color:var(--yl-text-muted);font-size:12px}@media(max-width:720px){.modal-backdrop{align-items:end;padding:12px}.archive-guarantee-modal{width:100%;max-height:calc(100vh - 24px);border-radius:var(--yl-radius-lg)}.archive-guarantee-modal-header,.archive-guarantee-modal-body{padding-right:16px;padding-left:16px}.archive-guarantee-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-guarantee-error{align-items:flex-start;flex-direction:column}}.archive-row>span:nth-child(2),.archive-row>span:nth-child(4){white-space:normal}.archive-row>span:nth-child(1),.archive-row>span:nth-child(3),.archive-row>span:nth-child(5),.archive-row>span:nth-child(6),.archive-row>span:nth-child(7),.archive-row>span:nth-child(8),.archive-row>span:nth-child(9),.archive-row>span:nth-child(10),.archive-row>span:nth-child(11),.archive-row>span:nth-child(12),.archive-row>span:nth-child(13),.archive-row>span:nth-child(14){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;color:#526258;font-size:13px}.pagination-bar>span,.project-pagination>span,.pagination-bar select,.project-pagination select{white-space:nowrap}.project-page-size-select,.archive-page-size-select,.export-page-size-select{min-width:72px}.pagination-unit{flex:0 0 auto;margin-left:-4px;white-space:nowrap}.archive-page-size-select{width:72px!important;min-width:72px!important;flex:0 0 72px!important;border:0!important;border-radius:0!important;padding:0!important;background:transparent!important}.pagination-bar select{width:72px;flex:0 0 72px;min-height:32px;border:1px solid var(--yl-border);border-radius:6px;padding:5px 8px;background:#fff;color:var(--yl-text-main)}.archive-readonly-banner{display:flex;align-items:center;gap:8px;margin-top:12px;border:1px solid var(--yl-primary-border);border-radius:8px;padding:10px 12px;background:#f6faf7;color:#2f5547;font-size:13px}.archive-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.archive-detail-summary div{display:grid;gap:5px;border:1px solid #d9e4dc;border-radius:8px;padding:10px 12px;background:#fff}.archive-detail-summary span{color:#607266;font-size:12px}.archive-detail-summary strong{color:var(--yl-primary);font-size:14px;line-height:1.35}.tab-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tab-button{min-height:34px;border:1px solid var(--yl-primary-border);border-radius:6px;padding:7px 11px;background:#fff;color:#2d493d;cursor:pointer}.tab-button.active{border-color:var(--yl-primary);background:var(--yl-primary);color:#fff}.archive-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.archive-section-grid .finance-card p{margin-top:8px;color:#3f5147;font-size:13px}.archive-log-row{grid-template-columns:1.2fr 1fr 1fr 1fr 1.4fr;min-width:760px}.archive-expense-row{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr;min-width:860px}.button-row{display:flex;flex-wrap:wrap;gap:8px}.primary-button.inline{margin-top:12px}.primary-button.inline.project-filter-search{margin-top:0}.guarantee-page{display:grid;min-width:0;align-content:start;gap:20px}.guarantee-page .page-heading{margin-bottom:0}.guarantee-shell{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:18px;padding:22px 28px 26px;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-lg);background:#fffffff5;box-shadow:var(--yl-shadow-card)}.guarantee-heading{align-items:center;justify-content:space-between;gap:16px}.guarantee-heading-action-only{justify-content:flex-start;min-height:42px}.guarantee-heading .page-subtitle{margin:8px 0 0;color:var(--yl-text-secondary);font-size:13px}.guarantee-page .dashboard-metric-grid{margin:0}.guarantee-table-scroll{min-width:0;max-width:100%;overflow-x:auto}.guarantee-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:var(--yl-text-secondary);font-size:13px}.guarantee-pagination>span{white-space:nowrap}.guarantee-page-size-select{width:72px;min-width:72px;flex:0 0 72px}.guarantee-page-size-select .enterprise-select-trigger{min-width:72px;min-height:32px;padding:0 8px}.guarantee-table{width:100%;min-width:1336px;table-layout:fixed;border-collapse:collapse;border:1px solid var(--yl-border);background:#fff;color:var(--yl-text-regular);font-size:13px}.guarantee-ledger-panel{min-width:0;padding-top:4px}.guarantee-ledger-title{justify-content:space-between;align-items:flex-start;margin-bottom:16px}.guarantee-filter-bar{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(240px,1.5fr) auto;gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-lg);background:var(--yl-bg-soft)}.guarantee-filter-bar label{display:grid;gap:6px;color:var(--yl-text-secondary);font-size:12px;font-weight:650}.guarantee-filter-bar select,.guarantee-filter-bar input{width:100%;min-height:38px;border:1px solid var(--yl-border);border-radius:8px;padding:8px 10px;background:#fff;color:var(--yl-text-main)}.guarantee-filter-bar .text-button{min-height:38px;padding:8px 14px}.guarantee-ledger-title h2{margin:0}.guarantee-count{flex:0 0 auto;color:var(--yl-text-secondary);font-size:12px;font-weight:650}.guarantee-table th,.guarantee-table td{height:72px;border:1px solid var(--yl-border);padding:14px 18px;text-align:center;vertical-align:middle;white-space:nowrap}.guarantee-table th{height:56px;background:var(--yl-bg-soft);color:var(--yl-text-secondary);font-weight:700}.guarantee-table tbody tr:hover{background:var(--yl-bg-soft)}.guarantee-table .guarantee-type-column{width:84px}.guarantee-table .guarantee-amount-column,.guarantee-table .guarantee-date-column{width:128px}.guarantee-table .guarantee-status-column{width:108px}.guarantee-table .guarantee-actions-column{width:320px}.guarantee-project-cell{display:grid;gap:5px;min-width:0;text-align:center}.guarantee-project-cell strong,.guarantee-project-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guarantee-project-cell strong{color:var(--yl-text-main);font-size:13px}.guarantee-project-cell span{color:var(--yl-text-secondary);font-size:12px}.guarantee-table .amount-cell{color:var(--yl-text-main);font-variant-numeric:tabular-nums;text-align:right}.guarantee-action-group{display:flex;justify-content:center;align-items:center;gap:8px}.guarantee-action-button{display:inline-flex;flex:0 0 auto;min-height:34px;align-items:center;justify-content:center;padding:6px 10px;border:1px solid var(--yl-border);border-radius:6px;background:#fff;color:var(--yl-primary);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.guarantee-action-button:hover:not(:disabled){border-color:var(--yl-primary);background:var(--yl-primary-soft)}.guarantee-action-button:disabled{border-color:var(--yl-border-soft);background:var(--yl-bg-soft);color:var(--yl-text-secondary);cursor:not-allowed;opacity:.68}.guarantee-action-reason{margin:6px 0 0;color:var(--yl-text-secondary);font-size:12px;line-height:1.5}.guarantee-action-button.is-danger{color:var(--yl-danger)}.guarantee-action-button.is-danger:hover{border-color:var(--yl-danger);background:var(--yl-danger-soft)}.guarantee-action-button:focus-visible,.guarantee-table-scroll:focus-visible{outline:2px solid var(--yl-primary);outline-offset:2px}.guarantee-archive-confirm-backdrop{z-index:2400;align-items:center}.guarantee-archive-confirm-dialog{width:min(520px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--yl-border-soft);border-radius:12px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.guarantee-archive-confirm-dialog:focus{outline:0}.guarantee-archive-confirm-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--yl-border-soft);padding:20px 22px 16px}.guarantee-archive-confirm-header .eyebrow{margin:0 0 3px}.guarantee-archive-confirm-header h2{margin:0;color:var(--yl-text-main);font-size:20px;font-weight:780}.guarantee-archive-confirm-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:8px;background:var(--yl-danger-soft);color:var(--yl-danger)}.guarantee-archive-confirm-body{display:grid;gap:8px;padding:20px 22px}.guarantee-archive-confirm-body strong,.guarantee-archive-confirm-body p{margin:0}.guarantee-archive-confirm-body strong{color:var(--yl-text-main);font-size:16px}.guarantee-archive-confirm-body p{color:var(--yl-text-secondary);font-size:13px}.guarantee-archive-confirm-warning{margin-top:6px;border-left:3px solid var(--yl-danger);padding:10px 12px;background:var(--yl-danger-soft);color:var(--yl-text-secondary);font-size:13px;line-height:1.6}.guarantee-archive-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--yl-border-soft);padding:14px 22px 18px}.guarantee-archive-confirm-actions .secondary-button,.guarantee-archive-confirm-actions .primary-button{display:inline-flex;min-width:104px;min-height:40px;align-items:center;justify-content:center;margin:0;border-radius:8px;white-space:nowrap}.guarantee-status{display:inline-flex;min-height:24px;align-items:center;border-radius:var(--yl-radius-pill);padding:3px 9px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:650}.guarantee-status.is-warning{background:#fff7ed;color:#c2410c}.guarantee-status.is-danger{background:#fef2f2;color:#dc2626}.action-confirm-backdrop{position:fixed;z-index:2800;inset:0;display:grid;place-items:center;padding:20px;background:#0f1f386b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.action-confirm-dialog{width:min(520px,100%);overflow:hidden;border:1px solid var(--yl-border-soft);border-radius:12px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.action-confirm-dialog:focus{outline:0}.action-confirm-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--yl-border-soft);padding:20px 22px 16px}.action-confirm-header .eyebrow{display:block;margin:0 0 3px}.action-confirm-header h2{margin:0;color:var(--yl-text-main);font-size:20px;font-weight:780}.action-confirm-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:8px;background:var(--yl-primary-soft);color:var(--yl-primary)}.action-confirm-dialog.is-warning .action-confirm-icon{background:#fff7ed;color:#c2410c}.action-confirm-dialog.is-danger .action-confirm-icon{background:var(--yl-danger-soft);color:var(--yl-danger)}.action-confirm-close{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--yl-border);border-radius:8px;padding:0;background:#fff;color:var(--yl-text-secondary)}.action-confirm-close:hover:not(:disabled){border-color:var(--yl-primary-border);background:var(--yl-primary-soft);color:var(--yl-primary)}.action-confirm-body{display:grid;gap:9px;padding:20px 22px}.action-confirm-body>strong{color:var(--yl-text-main);font-size:16px}.action-confirm-body>p{margin:0;color:var(--yl-text-secondary);font-size:13px;line-height:1.7}.action-confirm-warning{margin-top:5px;border-left:3px solid var(--yl-primary);padding:10px 12px;background:var(--yl-primary-soft);color:var(--yl-text-secondary);font-size:13px;line-height:1.6}.action-confirm-dialog.is-warning .action-confirm-warning{border-left-color:#f59e0b;background:#fffaf0}.action-confirm-dialog.is-danger .action-confirm-warning{border-left-color:var(--yl-danger);background:var(--yl-danger-soft)}.action-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--yl-border-soft);padding:14px 22px 18px}.action-confirm-cancel,.action-confirm-submit{display:inline-flex;min-width:104px;min-height:40px;align-items:center;justify-content:center;gap:7px;margin:0;border-radius:8px;padding:0 18px;font:inherit;font-weight:700;white-space:nowrap}.action-confirm-cancel{border:1px solid var(--yl-border);background:#fff;color:var(--yl-text-main)}.action-confirm-cancel:hover:not(:disabled){border-color:var(--yl-primary-border);color:var(--yl-primary)}.action-confirm-submit{border:1px solid var(--yl-primary);background:var(--yl-primary);color:#fff}.action-confirm-dialog.is-warning .action-confirm-submit{border-color:#d97706;background:#d97706}.action-confirm-dialog.is-danger .action-confirm-submit{border-color:var(--yl-danger);background:var(--yl-danger)}.action-confirm-actions button:disabled{cursor:not-allowed;opacity:.58}.guarantee-status.is-muted{background:#f1f5f9;color:#64748b}.guarantee-empty-cell{padding:44px 20px!important;color:var(--yl-text-secondary);text-align:center}.guarantee-drawer{grid-template-rows:auto minmax(0,1fr) auto}.guarantee-drawer .drawer-form{align-content:start}.guarantee-drawer .button-row{display:flex;min-height:70px;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:0;border-top:1px solid #edf1ea;padding-top:14px}.guarantee-drawer .button-row .secondary-button,.guarantee-drawer .button-row .primary-button{display:inline-flex;min-width:96px;height:42px;min-height:42px;align-items:center;justify-content:center;margin-top:0;border-radius:10px;padding:0 18px;white-space:nowrap}.guarantee-drawer .button-row .secondary-button{border:1px solid var(--yl-border);background:#fff;color:var(--yl-text-main);cursor:pointer}.guarantee-drawer .file-drop{grid-column:1 / -1}.guarantee-drawer .file-drop input[type=file]{min-height:auto;border:0;padding:0}.guarantee-drawer .file-drop>span{display:inline-flex;align-items:center;gap:7px;color:var(--yl-primary);overflow-wrap:anywhere}.guarantee-attachment-field{display:grid;grid-column:1 / -1;gap:8px}.guarantee-attachment-label{color:var(--yl-text-secondary);font-size:13px;font-weight:650}.guarantee-attachment-row{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:nowrap;overflow-x:auto}.guarantee-drawer .guarantee-attachment-picker,.guarantee-drawer .guarantee-attachment-upload{display:inline-flex;flex:0 0 auto;flex-direction:row;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(22,119,255,.22);border-radius:10px;padding:0 18px;color:var(--yl-primary);font:inherit;font-weight:650;white-space:nowrap;cursor:pointer}.guarantee-drawer .guarantee-attachment-picker{position:relative;min-width:132px;background:#f7fbff}.guarantee-attachment-picker input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.guarantee-attachment-count{color:var(--yl-text-secondary);white-space:nowrap}.guarantee-attachment-upload{border-color:transparent;background:#8bb5ff;color:#fff}.guarantee-attachment-upload:disabled{cursor:not-allowed;opacity:.55}.guarantee-attachment-field small{overflow:hidden;color:var(--yl-text-secondary);text-overflow:ellipsis;white-space:nowrap}.guarantee-drawer .staged-attachment-field{max-width:100%;gap:8px}.guarantee-drawer .staged-attachment-toolbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.guarantee-drawer .staged-attachment-select,.guarantee-drawer .staged-attachment-upload{min-height:40px;border-radius:10px;padding:0 18px;font-size:14px}.guarantee-drawer .staged-attachment-count{flex:0 0 auto;font-size:13px}.guarantee-uploaded-attachments{display:grid;overflow:hidden;border:1px solid var(--yl-border-soft);border-radius:8px;background:#fff}.guarantee-uploaded-attachment{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border-top:1px solid var(--yl-border-soft)}.guarantee-uploaded-attachment:first-child{border-top:0}.guarantee-uploaded-attachment span{overflow:hidden;color:var(--yl-text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.guarantee-uploaded-attachment strong{color:var(--yl-success, #15803d);font-size:12px;white-space:nowrap}.guarantee-uploaded-attachment button{display:inline-flex;min-height:30px;align-items:center;gap:5px;border:1px solid rgba(217,45,32,.22);border-radius:6px;padding:0 8px;background:#fff;color:var(--yl-danger);font:inherit;font-size:12px;cursor:pointer}.guarantee-uploaded-attachment button:disabled{cursor:not-allowed;opacity:.55}.guarantee-transaction-notice{margin:0;color:var(--yl-primary);font-size:12px;line-height:1.5}.guarantee-transaction-error{margin:0 0 16px;border-left:3px solid var(--yl-danger);padding:10px 12px;background:var(--yl-danger-soft);color:var(--yl-danger);font-size:13px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:720px){.guarantee-shell{padding:18px 16px 20px}.guarantee-heading{align-items:stretch}.guarantee-heading .title-action{width:100%}.guarantee-ledger-panel{padding-top:4px}.guarantee-filter-bar{grid-template-columns:1fr}.guarantee-drawer{width:100vw;padding:16px}.guarantee-drawer .drawer-form{grid-template-columns:1fr}.guarantee-drawer .file-drop,.guarantee-attachment-field{grid-column:1}.guarantee-attachment-row{flex-wrap:wrap}.guarantee-drawer .staged-attachment-toolbar{flex-wrap:nowrap}.guarantee-uploaded-attachment{grid-template-columns:minmax(0,1fr) auto}.guarantee-uploaded-attachment strong{display:none}}.file-input{display:block;width:100%;border:1px dashed var(--yl-border);border-radius:6px;padding:12px;color:var(--yl-text-main);background:#fff}.meta-text{margin-top:12px;color:#607266;font-size:13px;overflow-wrap:anywhere}.single-field{margin-top:14px}.stage-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.stage{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--yl-primary-border);border-radius:6px;padding:6px 9px;color:#607266;background:var(--yl-bg-soft);font-size:13px}button.stage{cursor:pointer}button.stage:disabled{cursor:not-allowed;opacity:.72}.stage.done{border-color:#6f9b7b;color:#27633c}.stage.current{border-color:#214f90;background:#edf4ff;color:#214f90}.stage.selected{border-color:var(--yl-primary);box-shadow:0 0 0 2px #173d341f}.stage-work-card{display:grid;gap:12px;margin-top:18px;border-top:1px solid #edf1ea;padding-top:16px}.stage-workbench-header,.stage-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stage-current-badge,.stage-panel-title span{display:inline-flex;align-items:center;min-height:28px;border:1px solid #c9d8e6;border-radius:999px;padding:4px 10px;background:#f2f8ff;color:#214f90;font-size:12px;font-weight:800;white-space:nowrap}.stage-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.stage-reference-grid span{min-height:36px;border:1px solid var(--yl-border);border-radius:6px;padding:8px 9px;background:var(--yl-bg-soft);color:var(--yl-text-main);font-size:13px;overflow-wrap:anywhere}.stage-form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stage-workbench-layout,.stage-work-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.stage-record-panel,.stage-action-panel,.stage-evidence-attachments,.stage-main-card,.stage-side-card,.stage-evidence-area{display:grid;gap:12px;border:1px solid #d9e4dc;border-radius:12px;padding:16px;background:#fff}.stage-panel-title h3{margin:0;color:var(--yl-primary);font-size:16px;line-height:1.35}.stage-business-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.stage-field{display:grid;gap:7px;color:var(--yl-text-main);font-size:13px;font-weight:700}.stage-field.wide{grid-column:1 / -1}.stage-field.stage-datetime-field{grid-column:span 2;min-width:0}.stage-datetime-control{display:grid;grid-template-columns:minmax(180px,230px) minmax(230px,1fr);gap:8px;width:100%;max-width:560px;min-width:0}.stage-date-input,.stage-time-inputs{min-height:42px;border:1px solid var(--yl-border, #cbd9ec);border-radius:6px;background:#fff;color:var(--yl-text-main, #17315c);transition:border-color .16s ease,box-shadow .16s ease}.stage-date-input{display:block;min-width:0}.stage-time-inputs{display:grid;grid-template-columns:18px repeat(3,minmax(54px,1fr));gap:4px;align-items:center;min-width:230px;padding:0 10px}.stage-time-inputs>svg{color:var(--yl-primary, #2563eb)}.stage-time-select{display:grid;grid-template-columns:minmax(34px,1fr) 16px;align-items:center;min-width:54px;min-height:30px;padding-left:4px}.stage-time-select+.stage-time-select{border-left:1px solid var(--yl-border-soft, #e5edf8);padding-left:8px}.stage-date-input>input,.stage-time-select select{width:100%;min-width:0;min-height:40px;border:0;border-radius:0;padding:0 12px;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;outline:none;box-shadow:none}.stage-time-select select{min-height:30px;appearance:none;padding:0;text-align:center;cursor:pointer}.stage-time-select em{color:var(--yl-text-secondary, #64748b);font-size:12px;font-style:normal;font-weight:600}.stage-date-input:focus-within,.stage-time-inputs:focus-within{border-color:var(--yl-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.stage-date-input:has(input:disabled),.stage-time-inputs:has(select:disabled){background:var(--yl-bg-muted, #f5f7fb);color:var(--yl-text-secondary, #64748b)}@media(max-width:980px){.stage-field.stage-datetime-field{grid-column:1 / -1}}@media(max-width:720px){.stage-datetime-control{grid-template-columns:minmax(0,1fr);max-width:100%}.stage-time-inputs{min-width:0}}.stage-field>input,.stage-field>select,.stage-field>textarea,.stage-evidence-attachments input,.stage-more-actions select,.single-field select{min-height:38px;border:1px solid var(--yl-border);border-radius:8px;padding:8px 10px;background:#fff;color:var(--yl-text-main);font-size:13px}.stage-field>textarea,.single-field textarea{min-height:94px;resize:vertical}.stage-attachment-options{display:grid;gap:8px;max-height:150px;overflow-y:auto}.initiation-workflow{display:grid;gap:14px}.project-status-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;border:1px solid #d8e5ee;border-radius:12px;padding:12px;background:#f7fbff}.project-status-bar span{display:flex;min-height:52px;align-items:center;justify-content:center;border:1px solid #e2ebf2;border-radius:8px;padding:8px 9px;background:#fff;color:var(--yl-text-main);font-size:13px;line-height:1.35;text-align:center;overflow-wrap:anywhere}.workflow-shell{display:grid;grid-template-columns:164px minmax(0,1fr);gap:12px;align-items:start}.workflow-stage-menu{display:grid;gap:6px;border:1px solid #d9e4dc;border-radius:12px;padding:10px;background:#fbfdfb}.workflow-stage-menu h3{margin:0 0 4px;color:var(--yl-primary);font-size:14px}.workflow-stage-menu button{display:grid;gap:2px;width:100%;min-height:40px;border:1px solid transparent;border-radius:8px;padding:7px 8px;background:transparent;color:var(--yl-text-main);cursor:pointer;text-align:left}.workflow-stage-menu button.current{border-color:#b9d6f2;background:#f2f8ff}.workflow-stage-menu button.done{color:#27633c}.workflow-stage-menu button.active{border-color:var(--yl-primary);background:#eef7f3;color:var(--yl-primary);box-shadow:inset 3px 0 0 var(--yl-primary)}.workflow-stage-menu small{font-size:12px;opacity:.76}.workflow-stage-menu button span{font-size:14px;line-height:1.2}.workflow-main{min-width:0}.initiation-node-board{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));min-width:0;gap:10px;overflow-x:visible;padding-bottom:8px}.initiation-node-card{display:grid;min-height:220px;grid-template-rows:auto 1fr auto;gap:10px;border:1px solid #d8e5ee;border-radius:12px;padding:12px;background:#fff;box-shadow:0 10px 20px #112f520d}.initiation-node-card h3{margin:0;color:#0b2545;font-size:15px}.initiation-node-card dl{display:grid;gap:6px;margin:0}.initiation-node-card dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:6px;color:#344054;font-size:13px}.initiation-node-card dt{color:#667085}.initiation-node-card dd{margin:0;overflow-wrap:anywhere}.node-actions{display:flex;flex-wrap:wrap;gap:6px}.initiation-action-bar{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:12px;margin-top:12px;border:1px solid #d8e5ee;border-radius:12px;padding:12px;background:#f7fbff}.initiation-conclusion-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.initiation-conclusion-card div{border:1px solid #e2ebf2;border-radius:10px;padding:10px;background:#fff}.initiation-conclusion-card strong,.initiation-action-label{color:#0b2545;font-size:13px}.initiation-conclusion-card p{margin:6px 0 0;color:var(--yl-text-main);font-size:13px}.initiation-primary-actions,.attachment-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.initiation-detail-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;border-bottom:1px solid #edf1ea;padding-bottom:10px}.initiation-detail-tabs button{min-height:32px;border:1px solid var(--yl-border);border-radius:8px;padding:6px 10px;background:#fff;color:var(--yl-primary);cursor:pointer;font-size:13px}.initiation-detail-tabs button.active{border-color:var(--yl-primary);background:var(--yl-primary);color:#fff}.workflow-table{display:grid;gap:8px;margin-top:12px;overflow-x:auto}.workflow-table-head,.workflow-table-row{display:grid;min-width:1180px;border-left:1px solid #d9e4dc;border-top:1px solid #d9e4dc}.followup-grid{grid-template-columns:90px 110px 110px 110px 150px 150px 130px 150px 120px 80px 260px}[data-testid=initiation-followup-table] .row-actions{flex-wrap:nowrap;min-width:260px}[data-testid=initiation-followup-table] .row-actions .text-button{flex:0 0 auto}.expense-grid{grid-template-columns:110px 150px 110px 130px 150px 120px 150px 110px 150px}.attachment-grid{grid-template-columns:64px 260px 150px 220px 140px 180px 150px}.workflow-table-head span,.workflow-table-row span{display:flex;min-height:38px;align-items:center;justify-content:center;border-right:1px solid #d9e4dc;border-bottom:1px solid #d9e4dc;padding:8px;font-size:13px;line-height:1.35;text-align:center;overflow-wrap:anywhere}.workflow-table-row span{min-height:44px}.workflow-table-head span{justify-content:center;background:#f2f7f3;color:#607266;font-weight:800}.attachment-row,.log-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 220px;gap:8px;border-bottom:1px solid #edf1ea;padding:10px 0;color:var(--yl-text-main);font-size:13px}.attachment-row{grid-template-columns:minmax(0,1fr) 180px 220px 150px}.attachment-row.project-attachment-row{grid-template-columns:minmax(0,1fr) 140px 180px 180px 150px}.attachment-row .row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.timeline-list{display:grid;gap:10px;margin-top:12px}.timeline-item{display:grid;gap:6px;border:1px solid #d9e4dc;border-radius:10px;padding:12px;background:#fff}.timeline-item strong{color:var(--yl-primary)}.timeline-item span,.timeline-item p{color:#607266;font-size:13px}.drawer-backdrop{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:#0f172a47}.destructive-action-confirmation-backdrop{z-index:2400!important}.right-drawer{display:grid;width:min(640px,90vw);max-height:100vh;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow-y:auto;padding:20px;background:#fff;box-shadow:-20px 0 40px #0f172a2e}.drawer-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1ea;padding-bottom:12px}.drawer-title h2{margin:0;color:var(--yl-primary);font-size:20px}.drawer-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drawer-form label{display:grid;gap:6px;color:#607266;font-size:13px}.drawer-form input,.drawer-form select,.drawer-form textarea{width:100%;min-height:38px;border:1px solid var(--yl-border);border-radius:8px;padding:8px 10px;background:#fff;color:var(--yl-text-main);font:inherit}.assessment-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 12px;border:1px solid var(--yl-border);border-radius:6px;background:#fff}.assessment-attachment-row>label{display:flex;align-items:center;gap:9px;min-width:0;margin:0}.assessment-attachment-name{display:flex;align-items:center;gap:9px;min-width:0}.assessment-attachment-name svg{flex:0 0 auto;color:var(--yl-primary)}.assessment-attachment-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-attachment-row>label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-attachment-row .row-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.drawer-form textarea{min-height:96px;resize:vertical}.decision-warning{grid-column:1 / -1;margin:0;padding:12px 14px;color:#cf1322;line-height:1.65;border:1px solid rgba(245,34,45,.22);border-radius:10px;background:var(--yl-danger-soft)}.drawer-form .button-row,.drawer-form .primary-button{grid-column:1 / -1}.drawer-attachment-picker{display:grid;gap:8px}.drawer-attachment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:44px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:8px 10px;background:#fff}.drawer-attachment-name{display:block;min-width:0;overflow:hidden;color:var(--yl-text-main);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.drawer-attachment-name small{margin-left:8px;color:var(--yl-text-secondary);font-size:11px}.drawer-attachment-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px;white-space:nowrap}.stage-attachment-option{display:flex;min-width:0;align-items:center;gap:8px;border:1px solid #d9e4dc;border-radius:8px;padding:8px 10px;background:var(--yl-bg-soft);color:var(--yl-text-main);font-size:13px;white-space:nowrap}.stage-attachment-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-attachment-option>button{flex:0 0 auto;white-space:nowrap}.stage-upload-row,.stage-action-buttons,.stage-linked-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stage-action-panel{position:sticky;top:18px}.stage-action-summary{display:grid;gap:9px;margin:0}.stage-action-summary div{display:grid;gap:4px;border:1px solid #d9e4dc;border-radius:8px;padding:9px 10px;background:var(--yl-bg-soft)}.stage-action-summary dt{color:#607266;font-size:12px;font-weight:700}.stage-action-summary dd{margin:0;color:var(--yl-text-main);font-size:13px;font-weight:700}.stage-more-actions,.stage-advanced-actions{border:1px dashed var(--yl-primary-border);border-radius:10px;padding:10px;background:#fbfdfb}.stage-more-actions summary{cursor:pointer;color:var(--yl-primary);font-size:13px;font-weight:800}.stage-more-actions .single-field{margin-top:10px}.stage-more-actions small{display:block;margin-top:6px;color:#607266;font-size:12px}.danger-text{color:#a23a2a}.compact-checkline{min-height:38px;margin-top:0;border:1px solid var(--yl-primary-border);border-radius:6px;padding:8px 10px;background:#fff}.stage-timeline{display:grid;gap:10px;margin-top:14px}.stage-timeline-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;border:1px solid #d9e4dc;border-radius:10px;padding:10px 12px;background:var(--yl-bg-soft);color:var(--yl-text-main);font-size:13px;font-weight:700}.stage-timeline-item{display:grid;gap:8px;border:1px solid var(--yl-border);border-radius:8px;padding:12px;background:#fbfdfb}.stage-timeline-main,.stage-timeline-meta,.stage-timeline-attachments{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stage-timeline-main strong{color:var(--yl-primary)}.stage-timeline-main span,.stage-timeline-meta span,.stage-timeline-attachments span{border:1px solid var(--yl-border);border-radius:999px;padding:4px 8px;background:#fff;color:#607266;font-size:12px}.stage-timeline-item p{margin:0;color:var(--yl-text-main);overflow-wrap:anywhere}.attachment-list{display:grid;gap:8px;margin-top:12px}.finance-section{display:grid;gap:14px;margin-top:20px;border-top:1px solid #edf1ea;padding-top:18px}.finance-card{border:1px solid var(--yl-border);border-radius:8px;padding:14px;background:#fbfdfb}.import-export-panel{display:grid;gap:14px}.import-export-grid{display:grid;grid-template-columns:minmax(360px,1.35fr) minmax(280px,.65fr);gap:14px;align-items:start}.import-form-grid{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr)}.compact-file{min-height:38px;padding:7px 10px}.import-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.import-task-grid span{min-height:36px;border:1px solid var(--yl-border);border-radius:6px;padding:8px;background:#fff;color:var(--yl-text-main);font-size:13px;overflow-wrap:anywhere}.settings-grid,.expense-approval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.settings-rule-placeholders{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.system-release-page{display:grid;gap:18px}.system-release-current{display:flex;align-items:center;justify-content:flex-start;gap:24px;padding:16px 18px;border:1px solid #dce8f7;border-radius:8px;background:#f7fbff}.system-release-current span{display:grid;gap:4px;flex:0 0 auto}.system-release-current small{color:#7e8ea7;font-size:11px}.system-release-current strong{color:#1769dc;font-size:24px;white-space:nowrap}.system-release-list{display:grid;gap:12px}.system-release-list article{padding:17px 18px;border:1px solid #e0e9f5;border-radius:8px;background:#fff}.system-release-list article.is-current{border-color:#91bfff;box-shadow:inset 3px 0 #1677ff}.system-release-list header{display:flex;align-items:center;justify-content:space-between;gap:16px}.system-release-list header span{display:flex;align-items:center;gap:9px}.system-release-list header strong{color:#16345e;font-size:18px}.system-release-list header em{padding:3px 7px;border-radius:4px;color:#0a8d66;background:#e7f9f2;font-size:10px;font-style:normal;font-weight:700}.system-release-list time{color:#8594aa;font-size:11px}.system-release-list h3{margin:12px 0 6px;color:#17365f;font-size:15px}.system-release-list p{margin:0;color:#647997;font-size:12px;line-height:1.7}.system-release-list ul{display:grid;gap:6px;margin:12px 0 0;padding-left:19px;color:#3f5879;font-size:12px;line-height:1.6}.system-release-note{margin-top:12px;padding:9px 11px;border-radius:6px;color:#536b89;background:#f3f7fc;font-size:11px;line-height:1.6}.settings-page{padding-top:22px}.header-message-button{position:relative;display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);background:var(--yl-bg-soft);color:var(--yl-primary);cursor:pointer}.header-message-button:hover{border-color:var(--yl-primary-border);background:var(--yl-primary-soft)}.header-message-button:focus-visible{outline:2px solid var(--yl-primary);outline-offset:2px}.header-message-button span{position:absolute;top:-7px;right:-8px;min-width:19px;height:19px;border:2px solid #ffffff;border-radius:10px;padding:0 4px;background:#d64545;color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center}.message-drawer-layer{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end;background:#0f172a52}.message-drawer{display:grid;width:min(440px,100vw);height:100%;grid-template-rows:auto auto auto minmax(0,1fr) auto;background:#fff;box-shadow:var(--yl-shadow-drawer)}.message-drawer-header{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--yl-border);padding:14px 16px}.message-drawer-header>div,.message-drawer-header button,.message-drawer-item-actions,.message-drawer-item-actions button{display:inline-flex;align-items:center;gap:7px}.message-drawer-header h2{font-size:17px;color:var(--yl-text-main)}.message-drawer-header button,.message-drawer-item-actions button,.message-drawer footer button,.message-drawer-error button{border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:7px 9px;background:#fff;color:var(--yl-primary);cursor:pointer}.message-drawer-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--yl-border-soft);padding:0 16px}.message-drawer-tabs button{min-height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--yl-text-secondary);cursor:pointer}.message-drawer-tabs button.active{border-bottom-color:var(--yl-primary);color:var(--yl-primary);font-weight:700}.message-drawer-error{display:flex;align-items:center;gap:8px;margin:10px 16px 0;border:1px solid #e5b4ad;border-radius:6px;padding:9px;background:#fff6f4;color:#8c3329;font-size:12px}.message-drawer-error span{min-width:0;flex:1;overflow-wrap:anywhere}.message-drawer-list{overflow-y:auto;padding:6px 16px 12px}.message-drawer-item{position:relative;border-bottom:1px solid var(--yl-border-soft);padding:12px 0}.message-drawer-item.unread:before{position:absolute;top:18px;left:-9px;width:5px;height:5px;border-radius:50%;background:#d64545;content:""}.message-drawer-main{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.message-drawer-main strong,.message-drawer-main p,.message-drawer-main small{min-width:0;overflow-wrap:anywhere}.message-drawer-main strong{align-self:center;color:var(--yl-text-strong);font-size:14px}.message-drawer-main p,.message-drawer-main small{grid-column:1 / -1}.message-drawer-main p{color:var(--yl-text-regular);font-size:12px;line-height:1.6}.message-drawer-main small{color:var(--yl-text-muted);font-size:11px}.message-priority{align-self:center;border-radius:4px;padding:2px 5px;background:var(--yl-bg-soft);color:var(--yl-text-secondary);font-size:10px;font-weight:700}.message-priority.high{background:#fff3d9;color:#8c5b00}.message-priority.urgent{background:#fde9e6;color:#a03228}.message-priority.low{background:#edf3f8;color:#52708b}.message-drawer-item-actions{justify-content:flex-end;margin-top:8px}.message-drawer-item-actions button,.message-drawer-item-actions span{font-size:11px}.message-drawer-item-actions span{color:#9a625b}.message-drawer-empty{display:flex;min-height:180px;align-items:center;justify-content:center;gap:8px;color:var(--yl-text-secondary);font-size:13px}.message-drawer footer{border-top:1px solid var(--yl-border-soft);padding:12px 16px;text-align:center}.message-drawer footer button{width:100%}.notification-settings-page{padding:0;overflow:hidden}.notification-settings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--yl-border);padding:18px}.notification-settings-toolbar .panel-title{margin:0}.notification-settings-toolbar .panel-title div{min-width:0}.notification-settings-toolbar .panel-title p{margin-top:4px;color:var(--yl-text-secondary);font-size:12px}.notification-settings-actions,.notification-saved{display:flex;align-items:center;gap:9px}.notification-settings-actions button{display:inline-flex;min-height:36px;align-items:center;gap:7px;margin:0}.notification-reset-button{justify-content:center}.notification-dirty{color:var(--yl-warning);font-size:12px;font-weight:700}.notification-saved{color:var(--yl-primary);font-size:12px;font-weight:650}.notification-inline-notice{margin:14px 18px 0;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:9px 11px;background:var(--yl-primary-soft);color:var(--yl-primary-hover);font-size:12px}.notification-inline-notice.error{border-color:#f5222d3d;background:var(--yl-danger-soft);color:#a8071a}.notification-summary{display:flex;flex-wrap:wrap;gap:18px;border-bottom:1px solid var(--yl-border-soft);padding:12px 18px;background:var(--yl-bg-soft);color:var(--yl-text-secondary);font-size:12px}.notification-summary b{color:var(--yl-primary)}.notification-category-list{padding:0 18px 18px}.notification-category{padding-top:20px}.notification-category>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.notification-category h3{margin:0;color:var(--yl-text-strong);font-size:15px}.notification-category header p{margin-top:3px;color:var(--yl-text-muted);font-size:11px}.notification-event-list{border-top:1px solid var(--yl-border)}.notification-event{display:grid;grid-template-columns:minmax(280px,1fr) minmax(130px,180px) 100px;align-items:center;gap:18px;border-bottom:1px solid var(--yl-border-soft);padding:13px 4px}.notification-event-copy{min-width:0}.notification-event-copy>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.notification-event-copy strong{color:var(--yl-text-strong);font-size:13px}.notification-event-copy p{margin-top:4px;color:var(--yl-text-secondary);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.mandatory-badge{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:2px 6px;background:var(--yl-primary-soft);color:var(--yl-primary);font-size:10px;font-weight:700}.notification-advance{display:grid;gap:5px;color:var(--yl-text-secondary);font-size:11px}.notification-advance select{width:100%;min-height:34px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:5px 8px;background:#fff;color:var(--yl-text-regular);outline:none}.notification-advance select:focus-visible{border-color:var(--yl-primary);box-shadow:0 0 0 3px #1677ff1f}.notification-switch{position:relative;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:4px 8px;cursor:pointer}.notification-switch input[type=checkbox]{position:absolute;inset:0 auto auto 0;width:1px;height:1px;min-width:1px;margin:0;opacity:0;pointer-events:none}.notification-switch span{position:relative;width:38px;height:22px;border-radius:11px;background:var(--yl-border);transition:background .16s ease,box-shadow .16s ease}.notification-switch span:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;content:"";transition:transform .16s ease}.notification-switch input:focus-visible+span{box-shadow:0 0 0 3px #1677ff29}.notification-switch input:checked+span{background:var(--yl-primary)}.notification-switch input:checked+span:after{transform:translate(16px)}.notification-switch input:disabled+span{opacity:.62;cursor:not-allowed}.notification-switch em{grid-column:1 / -1;color:var(--yl-text-muted);font-size:10px;font-style:normal;text-align:center}.notification-switch input:checked~em{color:var(--yl-primary);font-weight:650}.notification-state{display:flex;min-height:220px;align-items:center;justify-content:center;gap:9px;color:var(--yl-text-secondary)}.notification-state.error{color:var(--yl-danger)}.notification-state button{border:1px solid currentColor;border-radius:var(--yl-radius-sm);padding:6px 9px;background:transparent;color:inherit;cursor:pointer}@media(max-width:1050px){.notification-settings-toolbar{align-items:flex-start;flex-direction:column}.notification-settings-actions{width:100%;flex-wrap:wrap}.notification-event{grid-template-columns:minmax(220px,1fr) 150px 90px}}@media(max-width:760px){.notification-event{grid-template-columns:minmax(0,1fr) 100px}.notification-advance{grid-column:1}.notification-switch{grid-column:2;grid-row:1 / span 2}.notification-settings-actions button{flex:1;justify-content:center}}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 12px;margin-top:12px;border:1px solid #edf1ea;border-radius:8px;padding:12px;background:#fbfdfb}.compact-permission-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-row,.department-row{display:grid;align-items:center;gap:10px;min-width:760px;border-bottom:1px solid #edf1ea;padding:10px 0;color:var(--yl-text-main);font-size:13px}.admin-row{grid-template-columns:minmax(110px,.8fr) minmax(180px,1.2fr) minmax(120px,.8fr) minmax(190px,1.2fr) minmax(70px,.5fr) minmax(120px,.8fr)}.department-row{grid-template-columns:minmax(180px,1fr) minmax(120px,.5fr);min-width:420px}.admin-row span,.department-row span{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere}.admin-head,.department-head{color:#607266;font-size:12px;font-weight:700}.attachment-inline{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:10px;align-items:start;margin-top:12px}.attachment-inline .file-input{min-height:42px;padding:9px 10px}.business-attachment-list{display:grid;gap:8px;margin-top:10px}.attachment-format-hint{margin:0;color:#64748b;font-size:12px;line-height:1.5}.business-attachment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;border:1px solid #dce8f6;border-radius:8px;padding:7px 10px;background:#fff}.business-attachment-row>span:first-child{min-width:0;overflow:hidden;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.compact-table{margin-top:14px;overflow-x:auto}.finance-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(88px,.7fr) minmax(90px,.7fr) minmax(88px,.7fr) minmax(88px,.7fr) minmax(140px,1fr);min-width:720px;align-items:stretch;border-bottom:1px solid #edf1ea;padding:0;color:var(--yl-text-main);font-size:13px}.finance-row>span{display:flex;min-height:44px;min-width:0;align-items:center;justify-content:center;padding:8px 10px;text-align:center;line-height:1.35;overflow-wrap:anywhere}.finance-row.expense-row{grid-template-columns:minmax(130px,.9fr) minmax(110px,.75fr) minmax(95px,.65fr) minmax(130px,.85fr) minmax(115px,.8fr) minmax(120px,.8fr) minmax(110px,.75fr) minmax(120px,.8fr) minmax(220px,1.4fr);min-width:1250px}.finance-head{color:#607266;font-size:12px;font-weight:700}.import-error-row{display:grid;grid-template-columns:58px minmax(90px,.7fr) minmax(110px,.9fr) minmax(180px,1.2fr) minmax(180px,1.2fr);min-width:760px;border-bottom:1px solid #edf1ea;padding:9px 0;color:var(--yl-text-main);font-size:13px}.import-section-card .import-error-row{grid-template-columns:minmax(68px,.35fr) minmax(110px,.7fr) minmax(130px,.9fr) minmax(190px,1.2fr) minmax(190px,1.2fr);padding:10px 14px}.import-error-head{color:#607266;font-size:12px;font-weight:700}.row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.text-button{border:1px solid var(--yl-border);border-radius:6px;padding:9px 10px;background:#fff;color:#214f90;text-align:left;cursor:pointer;overflow-wrap:anywhere}.text-button:disabled{cursor:not-allowed;opacity:.55}.text-button.mini{min-height:30px;padding:5px 8px;font-size:12px;white-space:nowrap}.log-row{display:grid;grid-template-columns:80px minmax(180px,1fr) 90px 90px minmax(180px,.8fr);min-width:820px;border-bottom:1px solid #edf1ea;padding:10px 0;color:var(--yl-text-main);font-size:14px}.log-row>span{display:flex;min-height:44px;min-width:0;align-items:center;justify-content:center;text-align:center;line-height:1.35;overflow-wrap:anywhere}.expense-status-filter{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.expense-status-filter button{min-height:32px;border:1px solid var(--yl-border);border-radius:8px;padding:6px 10px;background:#fff;color:var(--yl-primary);cursor:pointer}.expense-status-filter button.active{border-color:var(--yl-primary);background:var(--yl-primary);color:#fff}.expense-approval-workbench{display:grid;max-width:100%;min-width:0;gap:14px;overflow-x:hidden}.expense-approval-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:10px;max-width:100%;min-width:0}.expense-approval-overview button{display:grid;gap:4px;min-width:0;border:1px solid #dce8f6;border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff,#f8fbff);color:#51637f;text-align:left;cursor:pointer}.expense-approval-overview button.active{border-color:#1677ff;background:#eef6ff;box-shadow:0 10px 24px #1677ff1f}.expense-approval-overview span{overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.expense-approval-overview strong{color:#10264f;font-size:22px;line-height:1.1}.expense-approval-overview small{overflow:hidden;color:#7b8da8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.expense-approval-list{display:grid;max-width:100%;min-width:0;gap:12px}.expense-approval-item{display:grid;grid-template-columns:minmax(0,1fr) 190px 180px;gap:14px;align-items:center;max-width:100%;min-width:0;border:1px solid #dce8f6;border-radius:16px;padding:14px;background:#fff;box-shadow:0 12px 28px #0f172a0d}.expense-approval-item__main{display:grid;min-width:0;gap:8px}.expense-approval-title{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:8px}.expense-approval-title span{border-radius:999px;padding:3px 9px;background:#eef6ff;color:#1264f6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:700}.expense-approval-title strong{min-width:0;color:#10264f;font-size:15px;font-weight:800}.expense-approval-item__main p{margin:0;color:#64748b;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.expense-approval-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.expense-approval-meta span{display:grid;min-width:0;gap:2px}.expense-approval-meta small{color:#7b8da8;font-size:12px;font-weight:700}.expense-approval-meta strong{overflow:hidden;color:#10264f;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.expense-approval-state{display:flex;min-width:0;flex-direction:column;gap:8px;align-items:flex-start}.approval-pill{display:inline-flex;max-width:100%;min-height:28px;align-items:center;border-radius:999px;padding:4px 10px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:800}.expense-approval-actions{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:8px}.expense-attachment-uploader{max-width:100%;min-width:0;overflow-x:hidden}.staged-attachment-field{display:grid;min-width:0;gap:10px}.staged-attachment-toolbar{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:8px}.staged-attachment-select,.staged-attachment-upload,.staged-attachment-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--yl-radius-sm);font-weight:700;white-space:nowrap;cursor:pointer}.staged-attachment-select svg,.staged-attachment-upload svg,.staged-attachment-delete svg{flex:0 0 auto}.staged-attachment-select>span{white-space:nowrap}.staged-attachment-select{position:relative;min-height:36px;overflow:hidden;border:1px solid var(--yl-primary-border);padding:0 12px;background:var(--yl-primary-soft);color:var(--yl-primary)}.import-form-grid .staged-attachment-select{display:inline-flex;flex:0 0 auto;gap:5px;padding:0 10px;font-size:12px;white-space:nowrap}.import-form-grid .staged-attachment-select svg{flex:0 0 auto}.staged-attachment-select input{position:absolute;width:1px;height:1px;opacity:0}.staged-attachment-select.disabled,.staged-attachment-upload:disabled,.staged-attachment-delete:disabled{cursor:not-allowed;opacity:.55}.staged-attachment-count{color:var(--yl-text-secondary);font-size:12px;white-space:nowrap}.drawer-form .staged-attachment-toolbar{flex-wrap:nowrap}.drawer-form .staged-attachment-select,.drawer-form .staged-attachment-upload{display:inline-flex;flex:0 0 auto;flex-direction:row}.staged-attachment-upload{min-height:36px;border:1px solid var(--yl-primary);padding:0 13px;background:var(--yl-primary);color:#fff}.staged-attachment-notice{margin:0;color:var(--yl-warning, #a16207);font-size:12px}.attachment-preview-hint{margin:0;color:var(--yl-text-secondary);font-size:11px;line-height:1.5}.staged-attachment-list{display:grid;overflow:hidden;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);background:#fff}.staged-attachment-item{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--yl-border);color:var(--yl-primary)}.staged-attachment-item:first-child{border-top:0}.staged-attachment-item.is-failed{background:#fff7f7;color:var(--yl-danger, #d92d20)}.staged-attachment-copy{min-width:0}.staged-attachment-copy strong,.staged-attachment-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staged-attachment-copy strong{color:var(--yl-text-main);font-size:13px}.staged-attachment-copy small{margin-top:3px;color:var(--yl-text-secondary);font-size:11px}.staged-attachment-copy i{display:block;height:3px;margin-top:7px;overflow:hidden;border-radius:2px;background:var(--yl-primary-soft)}.staged-attachment-copy i span{display:block;height:100%;background:var(--yl-primary);transition:width .2s ease}.staged-attachment-delete{min-height:32px;border:1px solid rgba(217,45,32,.22);padding:0 9px;background:#fff;color:var(--yl-danger, #d92d20)}.staged-attachment-delete:hover:not(:disabled){background:#fff1f0}.expense-attachment-uploader select,.expense-attachment-uploader input,.expense-attachment-uploader button{max-width:100%}@media(min-width:1440px){.project-detail-summary__grid{grid-template-columns:140px minmax(260px,1fr) 140px minmax(260px,1fr);column-gap:24px}}@media(max-width:1280px){.expense-approval-item{grid-template-columns:minmax(0,1fr)}.expense-approval-actions{justify-content:flex-start}}@media(max-width:960px){.project-detail-summary{padding:18px}.project-detail-summary__grid{grid-template-columns:110px minmax(0,1fr)}.expense-approval-meta{grid-template-columns:repeat(2,minmax(120px,1fr))}}.approval-drawer{width:min(720px,90vw)}.approval-drawer-form{grid-template-columns:1fr}.approval-detail-card{display:grid;gap:10px;border:1px solid #d8e5ee;border-radius:12px;padding:12px;background:#f7fbff}.approval-detail-card h3{margin:0;color:var(--yl-primary);font-size:15px}.approval-detail-card p{margin:0;color:#607266;font-size:13px;line-height:1.5}.approval-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.approval-detail-grid span,.approval-flow-step{border:1px solid #e2ebf2;border-radius:8px;padding:8px;background:#fff;color:var(--yl-text-main);font-size:13px;text-align:center}.approval-attachment-list{display:flex;flex-wrap:wrap;gap:8px}.approval-flow{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px}.approval-flow-step{display:grid;gap:4px;min-height:76px;align-content:center}.approval-flow-step strong{color:#0b2545}.approval-flow-step small{color:#607266;line-height:1.35}.business-lifecycle{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px;border:1px solid #e6edf7;border-radius:8px;padding:20px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 24px #2251960f}.business-lifecycle__step{position:relative;display:grid;min-width:0;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;border:1px solid #e4eaf2;border-radius:8px;padding:14px;background:#fff}.business-lifecycle__step:not(:last-child):after{position:absolute;top:50%;right:-15px;z-index:2;width:15px;border-top:2px dotted #c8d2e2;content:""}.business-lifecycle__marker{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#eef2f7;color:#8a98ac;font-size:15px;font-weight:800}.business-lifecycle__step>div{min-width:0}.business-lifecycle__step strong,.business-lifecycle__step em,.business-lifecycle__step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-lifecycle__step strong{color:#14213a;font-size:14px}.business-lifecycle__step em{margin-top:4px;color:#8794a8;font-size:12px;font-style:normal}.business-lifecycle__step small{margin-top:7px;color:#9aa6b8;font-size:11px}.business-lifecycle__step.is-done{border-color:#bfe8ce;background:#fbfffc}.business-lifecycle__step.is-done .business-lifecycle__marker{background:#22a95a;color:#fff}.business-lifecycle__step.is-done:not(:last-child):after{border-color:#22a95a;border-top-style:solid}.business-lifecycle__step.is-current{border-color:var(--yl-primary);box-shadow:0 0 0 2px #1f6feb1a}.business-lifecycle__step.is-current .business-lifecycle__marker{background:var(--yl-primary);color:#fff;box-shadow:0 0 0 5px #1f6feb1a}.business-lifecycle__step.is-current em{color:var(--yl-primary);font-weight:700}.business-lifecycle__step.is-stopped{border-color:#ffd3d6;background:snow}.business-lifecycle__step.is-stopped .business-lifecycle__marker{background:#f04452;color:#fff}.business-lifecycle__step.is-stopped em{color:#d92d3a}.business-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:18px;overflow:hidden;border:1px solid #e6edf7;border-radius:8px;background:#fbfdff}.business-detail-summary>div,.business-detail-summary>span{min-width:0;border-left:1px solid #e6edf7;padding:13px 15px;color:#7a889e;font-size:12px}.business-detail-summary>:first-child{border-left:0}.business-detail-summary strong{display:block;margin-top:6px;overflow:hidden;color:#15233c;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.business-record-timeline{position:relative;display:grid;gap:0;padding-left:26px}.business-record-timeline:before{position:absolute;top:16px;bottom:16px;left:8px;width:2px;background:#d7e2f2;content:""}.business-record-timeline>div{position:relative;display:grid;gap:4px;border-bottom:1px solid #edf1f6;padding:12px 0}.business-record-timeline>div:before{position:absolute;top:17px;left:-23px;width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:var(--yl-primary);box-shadow:0 0 0 1px var(--yl-primary);content:""}.business-record-timeline span{color:#6d7b91;font-size:12px}.business-record-timeline strong{color:#15233c;font-size:14px}.business-record-timeline small{color:#8b98aa;font-size:11px;line-height:1.5}.approval-drawer .approval-detail-card{margin:0;border-color:#e5ebf4;border-radius:8px;background:#fff;box-shadow:0 5px 18px #1f4a8b0d}@media(max-width:980px){.business-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}.business-lifecycle__step:nth-child(2n):after{display:none}.business-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.business-detail-summary>:nth-child(odd){border-left:0}.approval-drawer-form{grid-template-columns:1fr}.approval-drawer-form>.approval-detail-card:nth-of-type(1),.approval-drawer-form>.approval-detail-card:nth-of-type(2),.approval-drawer-form>.approval-detail-card:nth-of-type(3){grid-column:1;grid-row:auto}}.log-head{color:#607266;font-size:12px;font-weight:700}.empty-text{padding:18px 0 2px;color:#607266;font-size:14px}@media(max-width:1366px){.workflow-shell{grid-template-columns:156px minmax(0,1fr)}.initiation-node-board{grid-template-columns:repeat(3,minmax(200px,1fr))}}@media(max-width:820px){.app-header{align-items:flex-start;flex-direction:column}.header-brand{width:100%;max-width:100%;flex-basis:auto}.header-actions{width:100%;justify-content:flex-start}.app-layout{grid-template-columns:1fr}.app-sidebar{position:sticky;top:0;z-index:5;border-right:0;border-bottom:1px solid var(--yl-border);padding:10px 12px;overflow-x:auto}.sidebar-nav{position:static;display:flex;min-width:max-content;gap:10px}.sidebar-group{min-width:180px}.workspace-grid,.workspace-grid.wide{grid-template-columns:1fr}.stats-grid,.finance-stats,.dashboard-summary-grid,.dashboard-metric-grid,.dashboard-section-grid,.risk-grid,.filters-row,.form-grid,.settings-grid,.import-form-grid,.import-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-export-grid,.stage-workbench-layout{grid-template-columns:1fr}.stage-action-panel{position:static}.attachment-inline{grid-template-columns:1fr}}@media(max-width:520px){.role-grid,.identity-list div,.stats-grid,.finance-stats,.dashboard-summary-grid,.dashboard-metric-grid,.dashboard-section-grid,.risk-grid,.filters-row,.form-grid,.settings-grid,.import-form-grid,.import-task-grid,.segmented{grid-template-columns:1fr}}.shell{color:var(--yl-text-main);background:transparent}.app-header{min-height:var(--yl-header-height);padding:13px clamp(18px,3vw,32px);background:linear-gradient(135deg,#0f172af5,#1e40aff0 54%,#0891b2e6);border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 12px 34px #0f172a29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-brand{flex-basis:min(54vw,720px);max-width:min(54vw,720px)}.header-company-logo{width:42px;height:42px;flex:0 0 42px;object-fit:contain}.header-title{color:#fff;font-size:clamp(23px,2vw,29px);font-weight:780;letter-spacing:0}.header-subtitle,.eyebrow{color:#e2f2ffd6}.header-status,.badge-status-normal{border-color:#bfdbfe5c;background:#ffffff24;color:#dbeafe}.current-user{color:#f8fafcf0}.logout-button{min-height:34px;border-radius:var(--yl-radius-sm);border-color:#ffffff3d;background:#ffffff1f;box-shadow:0 8px 20px #0f172a1f}.logout-button:hover{border-color:#ffffff7a;background:#fff3}.app-layout{grid-template-columns:var(--yl-sidebar-width) minmax(0,1fr);padding-top:var(--yl-header-height)}.app-sidebar{top:var(--yl-header-height);height:calc(100vh - var(--yl-header-height));border-right:1px solid var(--yl-border-soft);background:#fffffff0;box-shadow:8px 0 24px #0f172a09;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-main{height:calc(100vh - var(--yl-header-height));background:transparent}.sidebar-nav-title{color:var(--yl-text-muted);border-bottom-color:var(--yl-border-soft)}.sidebar-group{border-radius:var(--yl-radius-md)}.sidebar-group:has(.sidebar-group-title[data-expanded=true]){background:#f8fbff;box-shadow:inset 0 0 0 1px #2563eb0f}.sidebar-group-title{min-height:42px;border-radius:var(--yl-radius-sm);color:var(--yl-text-strong);font-size:15px;font-weight:760}.sidebar-group-title:hover{color:var(--yl-primary);background:var(--yl-primary-soft)}.sidebar-group-title:after{color:var(--yl-text-muted)}.sidebar-sub-item{min-height:36px;border-radius:var(--yl-radius-sm);padding-left:36px;color:var(--yl-text-regular);font-size:14px}.sidebar-sub-item:hover{color:var(--yl-primary);background:var(--yl-primary-soft)}.sidebar-sub-item.selected,.sidebar-sub-item.active{border-color:transparent;background:linear-gradient(135deg,var(--yl-primary) 0%,#3b82f6 100%);color:#fff;box-shadow:0 10px 24px #2563eb38}.workspace-grid{gap:20px;padding:24px}.app-main>.finance-band,.app-main>.dashboard-panel,.app-main>.settings-page,.app-main>.import-export-panel{width:calc(100% - 48px)}.panel,.content-card,.dashboard-card,.dashboard-list,.finance-card,.project-overview-panel,.stage-record-panel,.stage-action-panel,.stage-evidence-attachments,.stage-main-card,.stage-side-card,.stage-evidence-area,.workflow-stage-menu,.initiation-node-card,.initiation-action-bar,.timeline-item,.stage-timeline-item,.archive-detail-summary div,.archive-readonly-banner,.approval-detail-card,.compact-table,.permission-grid,.file-input{border-color:var(--yl-border-soft);border-radius:var(--yl-radius-lg);background:#fffffff5;box-shadow:var(--yl-shadow-card)}.panel{padding:18px}.panel-title,.card-header,.section-header{color:var(--yl-text-main)}.panel-title h2,.panel-title h3,.card-title,.section-title,.dashboard-card h3,.stage-panel-title h3,.approval-detail-card h3{color:var(--yl-text-main);font-weight:760;letter-spacing:0}.meta-text,.panel-subtitle,.section-subtitle,.metric-card-subtitle,.dashboard-list-foot,.table-scroll-hint,.empty-text{color:var(--yl-text-secondary)}.global-notice{top:calc(var(--yl-header-height) + 12px);border-color:var(--yl-border);border-radius:var(--yl-radius-md);box-shadow:var(--yl-shadow-panel)}.global-notice.ok{border-color:#10b98147;background:var(--yl-success-soft);color:#047857}.global-notice.error,.dashboard-state.error,.error-state{border-color:#ef444438;background:var(--yl-danger-soft);color:#991b1b}.login-shell{position:relative;min-height:100vh;grid-template-columns:minmax(0,1.08fr) minmax(360px,420px);gap:34px;align-items:center;justify-content:center;padding:calc(var(--yl-header-height) + 46px) clamp(20px,5vw,64px) 48px;background:radial-gradient(circle at 18% 12%,rgba(37,99,235,.16),transparent 32%),radial-gradient(circle at 78% 18%,rgba(6,182,212,.12),transparent 28%),linear-gradient(135deg,#f8fbff,#eef6ff)}.login-shell.has-site-footer{padding-bottom:152px}.login-site-footer{position:absolute;right:clamp(16px,5vw,64px);bottom:max(10px,env(safe-area-inset-bottom));left:clamp(16px,5vw,64px);display:grid;justify-items:center;gap:7px;color:#647887;font-size:11px;line-height:1.55;text-align:center}.login-site-footer div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 18px}.login-site-footer-copyright span{white-space:pre-line}.login-site-footer a{color:#117f87;text-decoration:none}.login-site-footer a:hover{text-decoration:underline}.login-site-footer p{margin:0}.public-legal-page{min-height:100vh;padding:28px clamp(20px,6vw,84px) 64px;background:#f3f7fc;color:#183252}.public-legal-header{display:flex;max-width:920px;align-items:center;justify-content:space-between;margin:0 auto 24px}.public-legal-header a{display:inline-flex;align-items:center;gap:7px;color:#2563eb;font-size:13px;text-decoration:none}.public-legal-header a svg{width:17px;height:17px}.public-legal-header img{width:150px;height:auto}.public-legal-document{max-width:920px;min-height:520px;margin:0 auto;border:1px solid #dbe7f4;border-radius:8px;padding:clamp(26px,5vw,58px);background:#fff;box-shadow:0 18px 48px #24487617}.public-legal-title{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid #e4edf7}.public-legal-title>svg{width:38px;height:38px;padding:8px;border-radius:8px;color:#2563eb;background:#eaf2ff}.public-legal-title span{color:#7b8ea7;font-size:12px}.public-legal-title h1{margin:4px 0 0;font-size:26px;letter-spacing:0}.public-legal-content{margin-top:28px;color:#344b68;font-size:14px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.public-legal-state{display:flex;min-height:280px;align-items:center;justify-content:center;gap:9px;color:#71849d}.public-legal-state svg{width:20px}.public-legal-state.is-error{color:#b42318}.login-brand-panel{max-width:680px}.login-brand-kicker{color:var(--yl-primary);font-size:13px;font-weight:800;letter-spacing:.08em}.login-brand-title{margin-top:14px;color:var(--yl-text-main);font-size:clamp(32px,4vw,44px);line-height:1.16;font-weight:820;letter-spacing:0}.login-brand-title strong{color:var(--yl-primary)}.login-brand-desc{margin-top:16px;max-width:560px;color:var(--yl-text-secondary);font-size:15px;line-height:1.9}.login-value-list{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-top:28px}.login-value-item{min-height:64px;border:1px solid rgba(226,232,240,.78);border-radius:var(--yl-radius-lg);padding:14px 16px;background:#ffffffb8;box-shadow:var(--yl-shadow-card);color:var(--yl-text-regular);font-size:13px;line-height:1.55}.login-panel{width:min(420px,calc(100vw - 32px));max-width:420px;border-radius:24px;padding:30px;background:#fffffff0;box-shadow:0 28px 80px #0f172a1f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-panel .panel-title{margin-bottom:20px}.login-captcha-row{display:grid;grid-template-columns:minmax(75px,1fr) 126px 40px;gap:7px;align-items:center}.login-captcha-row img,.login-captcha-placeholder{width:126px;height:40px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm)}.login-captcha-placeholder{display:grid;place-items:center;color:var(--yl-text-muted);font-size:12px}.login-captcha-refresh{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);background:#fff;color:var(--yl-primary);cursor:pointer}.login-captcha-refresh:disabled{opacity:.55;cursor:not-allowed}.login-captcha-error{margin:0;color:var(--yl-danger);font-size:12px}.login-form label{color:var(--yl-text-regular);font-weight:650}.login-form input,.filters-row input,.filters-row select,.filter-toolbar input,.filter-toolbar select,.form-grid input,.form-grid select,.form-grid textarea,.drawer-form input,.drawer-form select,.drawer-form textarea,.attachment-inline select,.single-field input,.single-field select,.single-field textarea,.stage-field>input,.stage-field>select,.stage-field>textarea,.stage-evidence-attachments input,.stage-more-actions select,.project-page-size-select,.pagination-bar select{border-color:var(--yl-border);border-radius:var(--yl-radius-sm);background:#fff;color:var(--yl-text-main);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-form input:focus,.filters-row input:focus,.filters-row select:focus,.filter-toolbar input:focus,.filter-toolbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.drawer-form input:focus,.drawer-form select:focus,.drawer-form textarea:focus,.attachment-inline select:focus,.single-field input:focus,.single-field select:focus,.single-field textarea:focus,.stage-field>input:focus,.stage-field>select:focus,.stage-field>textarea:focus,.stage-evidence-attachments input:focus,.stage-more-actions select:focus{border-color:var(--yl-primary);box-shadow:0 0 0 3px #2563eb1a}.primary-button,.role-button{min-height:36px;border:none;border-radius:var(--yl-radius-sm);background:linear-gradient(135deg,var(--yl-primary) 0%,#3b82f6 100%);color:#fff;box-shadow:0 10px 22px #2563eb33;font-size:14px;font-weight:680;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.primary-button:hover:not(:disabled),.role-button:hover:not(:disabled){background:linear-gradient(135deg,var(--yl-primary-hover) 0%,var(--yl-primary) 100%);box-shadow:var(--yl-shadow-card-hover);transform:translateY(-1px)}.primary-button.inline{margin-top:0}.primary-button.danger,.danger-button,button.danger{background:linear-gradient(135deg,#dc2626 0%,var(--yl-danger) 100%);border-color:transparent;color:#fff}.text-button{min-height:34px;border-color:var(--yl-border);border-radius:var(--yl-radius-sm);background:#fff;color:var(--yl-primary);font-weight:620;white-space:nowrap;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}.text-button:hover:not(:disabled){border-color:var(--yl-primary-border);background:var(--yl-primary-soft);color:var(--yl-primary-hover);transform:translateY(-1px)}.danger-text{color:var(--yl-danger)}.danger-text:hover:not(:disabled){border-color:#ef444457;background:var(--yl-danger-soft);color:#dc2626}button:disabled,.primary-button:disabled,.role-button:disabled,.text-button:disabled{cursor:not-allowed!important;opacity:.56;box-shadow:none!important;transform:none!important}.filters-row,.filter-toolbar,.project-operation-toolbar,.stage-timeline-filter{border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-lg);padding:14px;background:#fffffff0;box-shadow:var(--yl-shadow-card)}.filter-toolbar{align-items:flex-end}.filter-toolbar label,.form-grid label,.single-field,.drawer-form label,.stage-field{color:var(--yl-text-regular);font-weight:650}.filter-actions{margin-left:auto;justify-content:flex-end}.stats-grid,.archive-summary-grid,.dashboard-metric-grid,.dashboard-section-grid,.stage-reference-grid,.project-status-bar,.archive-detail-summary,.settings-grid,.settings-rule-placeholders{gap:14px}.stats-grid span,.stage-reference-grid span,.dashboard-summary-grid span,.dashboard-card span,.import-task-grid span,.approval-detail-grid span,.approval-flow-step,.project-status-bar span{border-color:var(--yl-border-soft);border-radius:var(--yl-radius-md);background:#fff;color:var(--yl-text-regular);box-shadow:0 6px 18px #0f172a09}.dashboard-panel{border-radius:var(--yl-radius-xl)}.dashboard-metric-card,.metric-card,.stat-card{position:relative;overflow:hidden;min-height:112px;border-color:var(--yl-border-soft);border-radius:var(--yl-radius-lg);background:linear-gradient(180deg,#fffffffc,#f8fafcfa);box-shadow:var(--yl-shadow-card)}.dashboard-metric-card:after,.metric-card:after{content:"";position:absolute;top:-34px;right:-34px;width:90px;height:90px;border-radius:50%;background:#2563eb14}.dashboard-metric-card>*,.metric-card>*{position:relative;z-index:1}.dashboard-metric-card span,.metric-card-title{color:var(--yl-text-secondary)}.dashboard-metric-card strong,.metric-card-value,.stat-value{color:var(--yl-text-main);font-family:var(--yl-number-font);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.dashboard-focus-grid .metric-card-value{font-size:clamp(18px,1.45vw,22px)}.dashboard-focus-grid .metric-card-value.compact{font-size:clamp(16px,1.25vw,20px)}.dashboard-metric-card.warning{border-color:#f59e0b2e;background:linear-gradient(135deg,#fffbebf5,#fffffffa)}.dashboard-metric-card.pending{border-color:#2563eb2e;background:linear-gradient(135deg,#eff6fffa,#fffffffa)}.dashboard-card,.dashboard-risk-board,.dashboard-task-board{border-radius:var(--yl-radius-lg)}.dashboard-risk-row,.dashboard-task-row{border-color:var(--yl-border-soft);border-radius:var(--yl-radius-md);background:#fbfdff}.risk-level-badge,.risk-badge,.task-status-badge,.pending-badge,.stage-current-badge,.stage-panel-title span,.status-badge,.tag,.badge{display:inline-flex;min-height:22px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--yl-radius-pill);padding:0 8px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.risk-level-badge.risk-high,.risk-badge.risk-high{border-color:#ef444438;background:var(--yl-danger-soft);color:#dc2626}.risk-level-badge.risk-medium,.risk-badge.risk-medium,.task-status-badge,.pending-badge{border-color:#f59e0b38;background:var(--yl-warning-soft);color:#d97706}.risk-level-badge.risk-low,.risk-badge.risk-low{border-color:#10b9812e;background:var(--yl-success-soft);color:#059669}.table-scroll-wrap,.log-table,.compact-table,.workflow-table{overflow-x:auto;scrollbar-gutter:stable}.table-scroll-wrap::-webkit-scrollbar,.log-table::-webkit-scrollbar,.compact-table::-webkit-scrollbar,.workflow-table::-webkit-scrollbar{height:8px}.table-scroll-wrap::-webkit-scrollbar-thumb,.log-table::-webkit-scrollbar-thumb,.compact-table::-webkit-scrollbar-thumb,.workflow-table::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}.table-scroll-wrap::-webkit-scrollbar-track,.log-table::-webkit-scrollbar-track,.compact-table::-webkit-scrollbar-track,.workflow-table::-webkit-scrollbar-track{background:#f1f5f9}.project-table,.archive-table{border-color:var(--yl-border);border-radius:var(--yl-radius-lg);box-shadow:var(--yl-shadow-card)}.project-row{color:var(--yl-text-regular)}.project-row>span,.workflow-table-head span,.workflow-table-row span,.finance-row>span,.log-row>span,.admin-row span,.department-row span{border-color:var(--yl-border-soft)}.project-head>span,.workflow-table-head span,.finance-head,.admin-head,.department-head,.log-head,.import-error-head{background:#f8fafc;color:var(--yl-text-secondary);font-weight:760}.project-item:hover>span,.project-item:hover>.project-actions-cell,.data-table tr:hover td{background:var(--yl-bg-hover)}.project-actions-head,.project-actions-cell{border-left-color:var(--yl-border);box-shadow:-8px 0 16px #0f172a0d}.project-actions-head{background:#f1f5f9}.project-actions-cell{background:#fff}.row-actions{gap:6px;white-space:nowrap}.finance-row .row-actions{min-width:244px;flex-wrap:nowrap}.finance-row .row-actions .text-button.mini{flex:0 0 auto}.project-actions .text-button.mini,.row-actions .text-button.mini{border-radius:var(--yl-radius-xs);font-weight:650}.money-inline,.amount-inline,.metric-card-value,.finance-stats span,.dashboard-card span,.stats-grid span{white-space:nowrap}.metric-card-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-context-tabs,.initiation-detail-tabs,.tab-row,.archive-tabs{gap:6px;border:0;border-radius:var(--yl-radius-md);padding:4px;background:#f1f5f9;overflow-x:auto}.project-context-tabs button,.initiation-detail-tabs button,.tab-button{min-height:34px;border:0;border-radius:var(--yl-radius-sm);background:transparent;color:var(--yl-text-secondary);font-size:13px;font-weight:650;white-space:nowrap}.project-context-tabs button:hover,.initiation-detail-tabs button:hover,.tab-button:hover{background:#ffffffb8;color:var(--yl-primary)}.project-context-tabs button.active,.initiation-detail-tabs button.active,.tab-button.active{background:#fff;color:var(--yl-primary);box-shadow:0 6px 16px #0f172a0f}.stage{border-color:var(--yl-border);border-radius:var(--yl-radius-pill);background:#fff;color:var(--yl-text-secondary)}.stage.done{border-color:#10b9812e;background:var(--yl-success-soft);color:#059669}.stage.current,.stage.selected{border-color:#2563eb38;background:var(--yl-primary-soft);color:var(--yl-primary);box-shadow:0 0 0 2px #2563eb14}.stage.done.selected{border-color:#ef44445c;background:var(--yl-danger-soft);color:var(--yl-danger);box-shadow:0 0 0 2px #ef44441a}.project-stage-timeline{display:grid;grid-template-columns:repeat(var(--project-stage-count),minmax(0,1fr));overflow-x:auto;margin-top:18px;padding:8px 4px 18px;scrollbar-color:var(--yl-primary-border) transparent;scrollbar-width:thin}.project-stage-node{position:relative;display:grid;min-width:0;min-height:112px;justify-items:center;align-content:start;gap:7px;border:0;padding:0 8px;background:transparent;color:var(--yl-text-muted);cursor:default}.project-stage-node:not(:disabled){cursor:pointer}.project-stage-node:before{position:absolute;top:23px;right:50%;left:-50%;height:2px;background:var(--yl-border);content:""}.project-stage-node:first-child:before{display:none}.project-stage-node[data-stage-state=done]:before,.project-stage-node[data-stage-state=current]:before{background:var(--yl-primary)}.project-stage-marker{position:relative;z-index:1;display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:2px solid var(--yl-border);border-radius:50%;background:#fff;color:var(--yl-text-muted);font-size:15px;font-weight:760}.project-stage-node[data-stage-state=done] .project-stage-marker{border-color:var(--yl-primary);color:var(--yl-primary)}.project-stage-node[data-stage-state=current] .project-stage-marker{border-color:#fff;background:var(--yl-primary);color:#fff;box-shadow:0 0 0 3px var(--yl-primary),0 0 0 7px var(--yl-primary-soft)}.project-stage-node.selected:not([data-stage-state=current]) .project-stage-marker{box-shadow:0 0 0 5px var(--yl-primary-soft)}.project-stage-node strong{display:-webkit-box;min-height:36px;overflow:hidden;color:var(--yl-text-main);font-size:13px;line-height:18px;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-stage-node small{color:var(--yl-text-muted);font-size:11px;line-height:16px}.project-stage-node[data-stage-state=current] strong,.project-stage-node[data-stage-state=current] small{color:var(--yl-primary);font-weight:700}.project-stage-node:disabled{opacity:1}.project-stage-focus-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;margin-top:18px;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-sm);padding:22px 24px;background:#fff;box-shadow:var(--yl-shadow-card)}.project-stage-focus-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--yl-primary-soft);color:var(--yl-primary)}.project-stage-focus-content{min-width:0}.project-stage-focus-content>span{color:var(--yl-primary);font-size:12px;font-weight:750}.project-stage-focus-content h3{margin:4px 0 0;color:var(--yl-text-main);font-size:20px;line-height:1.35}.project-stage-focus-content>p{margin:7px 0 0;color:var(--yl-text-secondary);font-size:13px;line-height:1.6}.project-stage-focus-content dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 0}.project-stage-focus-content dl>div{min-width:0;border-left:1px solid var(--yl-border-soft);padding:0 18px}.project-stage-focus-content dl>div:first-child{border-left:0;padding-left:0}.project-stage-focus-content dt,.project-stage-focus-content dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-stage-focus-content dt{color:var(--yl-text-muted);font-size:12px}.project-stage-focus-content dd{margin:7px 0 0;color:var(--yl-text-main);font-size:14px;font-weight:750}@media(max-width:980px){.project-stage-focus-content dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.project-stage-focus-content dl>div:nth-child(3){border-left:0;padding-left:0}}.project-status-bar{background:linear-gradient(135deg,#eff6ffe6,#fffffffa)}.workflow-shell{grid-template-columns:156px minmax(0,1fr)}.workflow-stage-menu{background:#fffffff0}.workflow-stage-menu h3{color:var(--yl-text-main)}.workflow-stage-menu button{color:var(--yl-text-regular)}.workflow-stage-menu button.current{border-color:var(--yl-primary-border);background:var(--yl-primary-soft)}.workflow-stage-menu button.done{color:#059669}.workflow-stage-menu button.active{border-color:#2563eb38;background:#f8fbff;color:var(--yl-primary);box-shadow:inset 3px 0 0 var(--yl-primary)}.workflow-stage-menu button.done.active{border-color:#ef44445c;background:var(--yl-danger-soft);color:var(--yl-danger);box-shadow:inset 3px 0 0 var(--yl-danger)}.initiation-node-board{gap:12px}.initiation-node-card{min-height:216px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.initiation-node-card:hover{border-color:var(--yl-primary-border);box-shadow:var(--yl-shadow-card-hover);transform:translateY(-1px)}.initiation-node-card h3{color:var(--yl-text-main)}.initiation-node-card dt,.archive-detail-summary span,.stage-action-summary dt{color:var(--yl-text-secondary)}.initiation-node-card dd,.stage-action-summary dd,.archive-detail-summary strong{color:var(--yl-text-regular)}.initiation-action-bar{border-color:#2563eb24;background:linear-gradient(135deg,#eff6ffeb,#fffffffa)}.initiation-conclusion-card div,.stage-action-summary div,.approval-flow-step,.stage-attachment-option{border-color:var(--yl-border-soft);border-radius:var(--yl-radius-md);background:#fff}.drawer-backdrop{background:#0f172a52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.right-drawer{background:#fffffffa;box-shadow:var(--yl-shadow-drawer)}.drawer-title{border-bottom-color:var(--yl-border-soft)}.drawer-title h2{color:var(--yl-text-main);font-size:18px;font-weight:760}.archive-readonly-banner{border-color:#2563eb2e;background:var(--yl-primary-soft);color:var(--yl-primary-active)}.empty-text{border-radius:var(--yl-radius-lg)}.record-empty-state{display:grid;width:100%;min-height:96px;flex:1 0 100%;grid-column:1 / -1;place-items:center;margin:0;padding:18px;text-align:center}.project-table-empty,.archive-table-empty{background:#fff;text-align:center}.file-input{background:#f8fafc}.approval-flow{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1280px){.dashboard-focus-grid,.archive-summary-grid,.dashboard-section-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.workflow-shell{grid-template-columns:144px minmax(0,1fr)}.initiation-node-board{overflow-x:auto;grid-template-columns:repeat(3,minmax(220px,1fr))}}@media(max-width:1180px){:root{--yl-sidebar-width: 208px}.workspace-grid,.page-main,.app-content{padding:18px}.app-main>.finance-band,.app-main>.dashboard-panel,.app-main>.settings-page,.app-main>.import-export-panel{width:calc(100% - 36px);margin-left:18px;margin-right:18px}.login-shell{grid-template-columns:1fr}.login-brand-panel{max-width:720px;text-align:center}.login-value-list{justify-content:center}}@media(max-width:900px){.form-grid,.drawer-form,.stage-workbench-layout,.stage-work-layout,.initiation-action-bar,.archive-detail-summary,.archive-section-grid,.import-export-grid{grid-template-columns:1fr}.stage-action-panel{position:static}}@media(max-width:820px){.app-header{min-height:auto}.login-shell{padding-top:150px}}@media(max-width:720px){.dashboard-focus-grid,.archive-summary-grid,.dashboard-section-grid,.login-value-list{grid-template-columns:1fr}.login-brand-panel{display:none}.login-shell{display:grid;place-items:start center;padding-right:16px;padding-left:16px}}input[type=checkbox]{width:16px;height:16px;min-width:16px;accent-color:var(--yl-primary, #1677ff);cursor:pointer}.checkbox-field,.checkbox-row,.checkbox-card{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:var(--yl-text-regular, #334155);font-size:14px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 20px}.table-row-selected>span,.project-row.table-row-selected>span,.admin-row.table-row-selected>span,.archive-row.table-row-selected>span{background:#eaf3ff}.project-row.table-row-selected .project-actions-cell,.archive-row.table-row-selected .project-actions-cell{background:#eaf3ff;box-shadow:-8px 0 14px #1677ff21}.selection-summary{color:var(--yl-text-secondary, #607266);font-size:13px;font-weight:700}.archive-selection-summary{margin:8px 0 0}.checkbox-cell{justify-content:center}.archive-table{min-width:2014px}.archive-row{grid-template-columns:52px 112px 180px 300px 120px 220px 130px 120px 130px 140px 140px 140px 140px 90px;min-width:2014px}.archive-table-empty{min-width:2014px}.settings-users-layout,.business-rules-layout,.import-export-sections{display:grid;gap:16px}.user-filter-toolbar,.department-filter-toolbar{align-items:end}.user-modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.department-modal-form-grid{grid-template-columns:1fr;gap:16px}.user-list-title-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.user-role-grid,.role-permission-grid,.expense-profit-type-grid{border:1px solid var(--yl-border-soft, #edf3fb);border-radius:16px;padding:16px;background:#fff}.user-row{grid-template-columns:52px minmax(92px,.7fr) minmax(100px,.8fr) minmax(170px,1.2fr) minmax(120px,.8fr) minmax(180px,1.2fr) minmax(72px,.5fr) minmax(130px,.8fr);min-width:1020px}.department-row{grid-template-columns:minmax(120px,.7fr) minmax(180px,1fr) minmax(80px,.4fr) minmax(140px,.6fr);min-width:620px}.settings-roles-page{display:grid;width:100%;min-width:0;gap:16px}.role-management-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:16px}.role-list-card,.role-detail-card{align-self:start}.role-list-card{position:sticky;top:calc(var(--yl-header-height, 76px) + 16px);max-height:calc(100vh - var(--yl-header-height, 76px) - 40px);overflow-y:auto}.role-permission-groups{display:grid;gap:14px;margin-top:16px}.role-permission-group{padding:16px;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:16px;background:var(--yl-bg-soft, #f7faff)}.role-permission-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.role-permission-group h3{margin:0;color:var(--yl-text-primary, #1f3355);font-size:15px}.permission-group-count{color:var(--yl-text-secondary, #607266);font-size:12px;white-space:nowrap}.role-permission-group .role-permission-grid{padding:0;border:0;border-radius:0;background:transparent}.role-list-title{display:block;margin:12px 0 8px;color:var(--yl-text-secondary, #607266);font-size:12px}.role-list-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;border:1px solid transparent;border-radius:10px;padding:9px 10px;background:#f8fbff;color:var(--yl-text-main, #1f2d3d);cursor:pointer}.role-list-item.active{border-color:#1677ff59;background:#eaf3ff;color:var(--yl-primary, #1677ff);font-weight:800}.role-list-item.disabled{opacity:.58}.role-list-item small{color:var(--yl-text-secondary, #607266);white-space:nowrap}.role-form-grid{grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr)}.role-form-grid .wide-field{grid-column:1 / -1}.implemented-export-grid,.export-extension-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.export-option-card,.export-extension-item{display:grid;gap:8px;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:14px;padding:14px;background:#f8fbff}.export-extension-item small{color:var(--yl-text-secondary, #607266)}.export-center-card,.export-center-redesign{display:grid;gap:18px;overflow:hidden}.export-center-head{display:flex;justify-content:space-between;gap:16px}.export-flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.export-flow-step{display:flex;align-items:center;gap:8px;min-height:42px;padding:10px 12px;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:14px;background:#f8fbff;color:var(--yl-text-secondary, #64748b);font-size:13px;font-weight:700}.export-flow-step span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#eaf3ff;color:var(--yl-primary, #1677ff);font-size:12px;font-weight:800}.export-flow-step.active{border-color:#1677ff38;background:linear-gradient(135deg,#eef6ff,#fff);color:var(--yl-text-main, #0f2247)}.export-filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;align-items:end;padding:16px;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:18px;background:#fff}.export-keyword-field{grid-column:span 2}.export-filter-actions{display:flex;align-items:center;gap:10px;min-height:42px;grid-column:span 2}.export-filter-panel label{display:grid;min-width:0;gap:6px;color:var(--yl-text-secondary, #64748b);font-size:13px;font-weight:700}.export-project-select-panel,.export-type-panel{overflow:hidden;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:18px;background:#fff}.export-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 0}.export-section-title h3{margin:0;color:var(--yl-text-main, #0f2247);font-size:18px;font-weight:820}.export-section-title p{margin:6px 0 0;color:var(--yl-text-secondary, #64748b);font-size:13px}.export-section-title>span{color:var(--yl-primary, #1677ff);font-size:14px;font-weight:800}.export-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--yl-primary, #1677ff);font-size:14px;font-weight:800}.export-select-page{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.export-select-page span{white-space:nowrap}.export-project-table-wrap{margin:16px 18px 18px;overflow-x:auto;border:1px solid #edf3fb;border-radius:14px}.export-project-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.export-project-table th,.export-project-table td{height:48px;padding:0 12px;border-bottom:1px solid #edf3fb;color:var(--yl-text-main, #0f2247);font-size:13px}.export-project-table th{background:#f6f9fd;color:var(--yl-text-secondary, #64748b);font-weight:800;text-align:left}.export-project-table tr.is-selected td{background:#eef6ff}.export-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:0 18px 18px;color:var(--yl-text-secondary, #64748b);font-size:13px}.export-preview-pagination-actions{display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:8px;min-width:0;white-space:nowrap}.export-preview-pagination-actions select{width:72px;min-width:72px;flex:0 0 72px}.project-page-size-select .enterprise-select-trigger,.archive-page-size-select .enterprise-select-trigger,.export-page-size-select .enterprise-select-trigger{width:100%;min-width:72px;min-height:32px;padding:0 8px}.export-preview-pagination-actions>span{flex:0 0 auto;white-space:nowrap}.export-page-index{min-width:86px;text-align:center}.export-type-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.export-type-list.redesign{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:16px 18px 18px}.export-type-card{display:grid;gap:7px;min-height:108px;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:16px;padding:14px;background:#f8fbff;color:var(--yl-text-main, #0f2247);text-align:left;cursor:pointer}.export-type-card strong{font-size:14px}.export-type-card span,.export-type-card small{color:var(--yl-text-secondary, #64748b);font-size:12px;line-height:1.45}.export-type-card.active{border-color:#1677ff59;background:#eef6ff;box-shadow:inset 0 0 0 1px #1677ff1f}.export-type-list.redesign .export-type-card{min-height:126px;padding:16px;border-radius:16px;background:#f8fbff}.export-type-list.redesign .export-type-card.active{border-color:var(--yl-primary, #1677ff);background:linear-gradient(135deg,#eef6ff,#fff);box-shadow:0 14px 32px #1677ff1f}.export-type-list.redesign .export-type-card:disabled{cursor:not-allowed;opacity:.52}.export-execute-panel,.export-confirm-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--yl-border-soft, #edf3fb);border-radius:16px;padding:14px 16px;background:#fff}.export-confirm-panel{position:sticky;bottom:14px;z-index:5;border-color:#1677ff1f;border-radius:18px;background:#fffffff0;box-shadow:0 16px 38px #0f172a14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(max-width:1280px){.export-flow-steps,.export-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.export-preview-footer{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.export-flow-steps,.export-filter-panel{grid-template-columns:1fr}.export-keyword-field,.export-filter-actions{grid-column:auto}.export-preview-pagination-actions{flex-wrap:wrap}.export-confirm-panel{position:static;display:grid}}.draft-submit-row{margin:12px 0 14px}.project-list-table{min-width:1436px}.project-list-table .project-row{grid-template-columns:52px 180px 300px 124px 240px 140px 150px 130px 120px;min-width:1436px}.project-list-table .project-table-empty{min-width:1436px}@media(max-width:960px){.role-management-layout{grid-template-columns:1fr}}:root{--yl-primary: #1677ff;--yl-primary-hover: #0958d9;--yl-primary-active: #003eb3;--yl-primary-soft: #eef6ff;--yl-primary-border: rgba(22, 119, 255, .22);--yl-cyan: #00c2b8;--yl-cyan-soft: #e6fffb;--yl-purple: #722ed1;--yl-purple-soft: #f9f0ff;--yl-success: #00b578;--yl-success-soft: #edfdf6;--yl-warning: #fa8c16;--yl-warning-soft: #fff7e6;--yl-danger: #f5222d;--yl-danger-soft: #fff1f0;--yl-text-main: #0b1f44;--yl-text-strong: #172b4d;--yl-text-regular: #334155;--yl-text-secondary: #64748b;--yl-text-muted: #94a3b8;--yl-bg-page: #f6f9ff;--yl-bg-card: #ffffff;--yl-bg-soft: #f8fbff;--yl-border: #dfe8f6;--yl-border-soft: #edf3fb;--yl-radius-sm: 8px;--yl-radius-md: 12px;--yl-radius-lg: 16px;--yl-radius-xl: 22px;--yl-radius-pill: 999px;--yl-shadow-card: 0 12px 32px rgba(29, 78, 216, .07);--yl-shadow-hover: 0 18px 42px rgba(22, 119, 255, .13);--yl-shadow-panel: 0 24px 70px rgba(15, 23, 42, .1);--yl-number-font: "Inter", "DIN Alternate", "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif}body{color:var(--yl-text-main);background:radial-gradient(circle at 8% 0%,rgba(22,119,255,.1),transparent 30%),radial-gradient(circle at 92% 8%,rgba(0,194,184,.08),transparent 28%),linear-gradient(180deg,#fbfdff,#f6f9ff 45%,#f8fbff)!important}.app-header{min-height:76px!important;background:#ffffffeb!important;color:var(--yl-text-main)!important;border-bottom:1px solid var(--yl-border-soft)!important;box-shadow:0 10px 28px #0f172a0a!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-brand{display:flex!important;align-items:center;gap:14px}.header-brand-copy{display:grid;min-width:0;gap:4px}.header-title{color:var(--yl-text-main)!important;font-size:clamp(19px,1.6vw,24px)!important;font-weight:800!important;letter-spacing:0}.header-subtitle,.eyebrow{color:var(--yl-text-secondary)!important}.login-product-logo{display:block;width:210px;height:70px;margin-bottom:18px;object-fit:contain}.current-user{color:var(--yl-text-regular)!important}.personal-center{position:relative;flex:0 0 auto}.personal-center-trigger{display:inline-flex;min-height:42px;align-items:center;gap:8px;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:5px 10px 5px 6px;background:#fff;color:var(--yl-text-regular);font-weight:700;white-space:nowrap;cursor:pointer}.personal-center-trigger:hover,.personal-center-trigger[aria-expanded=true]{border-color:var(--yl-primary);background:var(--yl-primary-soft);color:var(--yl-primary-hover)}.personal-center-trigger>svg{transition:transform .16s ease}.personal-center-trigger>svg.is-open{transform:rotate(180deg)}.personal-avatar{display:inline-grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--yl-primary),var(--yl-cyan));color:#fff;font-size:14px;font-weight:800;line-height:1}.personal-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.personal-avatar.large{width:46px;height:46px;flex-basis:46px;font-size:18px}.personal-center-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:min(320px,calc(100vw - 32px));border:1px solid var(--yl-border);border-radius:var(--yl-radius-md);padding:14px;background:#fff;box-shadow:0 18px 46px #0f172a29;color:var(--yl-text-main)}.personal-center-summary{display:flex;min-width:0;align-items:center;gap:11px;border-bottom:1px solid var(--yl-border-soft);padding-bottom:12px}.personal-center-summary>span:last-child{min-width:0}.personal-center-summary strong,.personal-center-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-file-input{display:none}.account-avatar-button,.account-password-button{display:flex;width:100%;min-height:40px;align-items:center;justify-content:flex-start;gap:9px;border:0;border-radius:6px;padding:0 10px;background:transparent;color:var(--yl-primary);font-weight:700}.account-avatar-button:hover,.account-password-button:hover{background:var(--yl-primary-soft)}.account-avatar-button:disabled{cursor:wait;opacity:.68}.personal-center-summary strong{font-size:15px}.personal-center-summary small{margin-top:4px;color:var(--yl-text-secondary);font-size:12px}.personal-center-details{display:grid;gap:9px;margin:12px 0}.personal-center-details div{display:grid;min-width:0;grid-template-columns:62px minmax(0,1fr);gap:8px;font-size:12px}.personal-center-details dt{color:var(--yl-text-muted)}.personal-center-details dd{min-width:0;margin:0;overflow:hidden;color:var(--yl-text-regular);text-overflow:ellipsis;white-space:nowrap}.account-password-button{display:inline-flex;width:100%;min-height:38px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:7px 10px;background:var(--yl-primary-soft);color:var(--yl-primary);font-size:12px;font-weight:700;cursor:pointer}.account-password-button:hover{border-color:var(--yl-primary);background:#fff;color:var(--yl-primary-hover)}.logout-button,.primary-button,.form-actions .primary-button,.toolbar-actions .primary-button{background:linear-gradient(135deg,var(--yl-primary),#3b82f6)!important;border-color:#1677ff38!important;box-shadow:0 12px 28px #1677ff2e}.logout-button:hover,.primary-button:hover,.form-actions .primary-button:hover,.toolbar-actions .primary-button:hover{background:linear-gradient(135deg,var(--yl-primary-hover),var(--yl-primary))!important}.app-sidebar{background:#fffffff5!important;border-right:1px solid var(--yl-border-soft)!important;box-shadow:10px 0 28px #0f172a09!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-nav-title{color:var(--yl-text-secondary)!important;font-size:12px!important;letter-spacing:.08em}.sidebar-group-title{color:var(--yl-text-regular)!important;border-radius:12px!important}.sidebar-group-title:hover{background:var(--yl-primary-soft)!important;color:var(--yl-primary)!important}.sidebar-sub-item{border-radius:10px!important;color:var(--yl-text-secondary)!important}.sidebar-sub-item:hover{background:var(--yl-primary-soft)!important;color:var(--yl-primary)!important}.sidebar-sub-item.selected,.sidebar-sub-item.active{color:#fff!important;background:linear-gradient(135deg,#1677ff,#3b82f6)!important;box-shadow:0 12px 28px #1677ff3d!important}.panel,.finance-card,.project-overview-panel,.archive-card,.content-card{background:#fffffff5!important;border:1px solid var(--yl-border-soft)!important;border-radius:var(--yl-radius-xl)!important;box-shadow:var(--yl-shadow-card)!important}.panel-title h2,.reference-panel h3{color:var(--yl-text-main);font-weight:800}.app-main>.reference-dashboard-page{width:calc(100% - 48px);margin:24px}.reference-dashboard-page{display:grid;gap:18px;padding:0}.reference-dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid rgba(22,119,255,.12);border-radius:24px;background:linear-gradient(135deg,#fffffff5,#eff6ffeb),radial-gradient(circle at 88% 18%,rgba(0,194,184,.14),transparent 30%);box-shadow:var(--yl-shadow-card)}.reference-dashboard-hero h2{margin:4px 0 8px;color:var(--yl-text-main);font-size:24px;line-height:1.25;font-weight:850;letter-spacing:0}.reference-dashboard-hero p{max-width:760px;color:var(--yl-text-secondary);font-size:13px;line-height:1.75}.reference-page-kicker{color:var(--yl-primary)!important;font-size:12px!important;font-weight:800;letter-spacing:.12em}.reference-hero-status{display:flex;align-items:center;flex:0 0 auto;gap:8px}.reference-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.reference-kpi-card{position:relative;min-width:0;min-height:128px;overflow:hidden;padding:18px;border:1px solid var(--yl-border-soft);border-radius:18px;background:linear-gradient(180deg,#fffffffc,#f8fbfffa);box-shadow:var(--yl-shadow-card)}.reference-kpi-card:after{position:absolute;top:-28px;right:-28px;width:88px;height:88px;content:"";border-radius:50%;background:#1677ff12}.reference-kpi-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:12px;border-radius:12px}.icon-blue{color:var(--yl-primary);background:var(--yl-primary-soft)}.icon-green{color:var(--yl-success);background:var(--yl-success-soft)}.icon-orange{color:var(--yl-warning);background:var(--yl-warning-soft)}.icon-purple{color:var(--yl-purple);background:var(--yl-purple-soft)}.reference-kpi-card p{position:relative;z-index:1;color:var(--yl-text-secondary);font-size:13px;font-weight:700}.reference-kpi-card strong{position:relative;z-index:1;display:block;margin-top:8px;color:var(--yl-text-main);font-family:var(--yl-number-font);font-size:clamp(19px,1.55vw,24px);font-variant-numeric:tabular-nums;font-weight:850;line-height:1.1;white-space:nowrap}.reference-kpi-card small{position:relative;z-index:1;display:block;margin-top:9px;overflow:hidden;color:var(--yl-text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.trend-up{color:var(--yl-success)!important}.trend-down{color:var(--yl-danger)!important}.reference-dashboard-grid,.reference-bottom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.reference-panel{min-width:0;padding:18px;border:1px solid var(--yl-border-soft);border-radius:20px;background:#fffffff7;box-shadow:var(--yl-shadow-card)}.reference-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.reference-panel-head h3{margin:0;color:var(--yl-text-main);font-size:16px;font-weight:820;line-height:1.3}.reference-panel-head p{margin-top:4px;color:var(--yl-text-secondary);font-size:12px;line-height:1.5}.reference-panel-link{color:var(--yl-primary);font-size:12px;font-weight:760;white-space:nowrap}.reference-donut-layout{display:grid;grid-template-columns:minmax(108px,132px) minmax(160px,1fr);align-items:center;gap:16px}.reference-donut{--donut-color: var(--yl-primary);display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle closest-side,#fff 68%,transparent 69% 100%),conic-gradient(var(--donut-color) calc(var(--donut-value) * 1%),#e8eef8 0);box-shadow:inset 0 0 0 1px #e2e8f099}.reference-donut-blue{--donut-color: var(--yl-primary)}.reference-donut-green{--donut-color: var(--yl-success)}.reference-donut-orange{--donut-color: var(--yl-warning)}.reference-donut-purple{--donut-color: var(--yl-purple)}.reference-donut-center{text-align:center}.reference-donut-center strong{display:block;color:var(--yl-text-main);font-family:var(--yl-number-font);font-size:22px;font-weight:860}.reference-donut-center span{display:block;margin-top:3px;color:var(--yl-text-secondary);font-size:12px}.reference-legend-list,.reference-chart-bars{display:grid;gap:12px}.reference-mini-bar{min-width:0}.reference-mini-bar-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--yl-text-secondary);font-size:12px}.reference-mini-bar-head strong{color:var(--yl-text-main);font-family:var(--yl-number-font);white-space:nowrap}.reference-mini-bar-track{height:7px;overflow:hidden;border-radius:999px;background:#edf3fb}.reference-mini-bar-fill{display:block;min-width:4px;height:100%;border-radius:inherit;background:var(--yl-primary)}.reference-mini-bar-blue{background:var(--yl-primary)}.reference-mini-bar-green{background:var(--yl-success)}.reference-mini-bar-orange{background:var(--yl-warning)}.reference-mini-bar-red{background:var(--yl-danger)}.reference-mini-bar-purple{background:var(--yl-purple)}.reference-warning-list,.reference-todo-list,.reference-activity-list{display:grid;gap:10px;align-content:start}.reference-risk-panel.dashboard-risk-board,.pending-panel.dashboard-task-board{align-content:start;grid-auto-rows:max-content}.reference-warning-item,.reference-todo-item{width:100%;border:1px solid var(--yl-border-soft);border-radius:14px;padding:12px;background:#fbfdff;text-align:left;cursor:pointer;transition:all .16s ease}.reference-warning-item:hover,.reference-todo-item:hover{border-color:var(--yl-primary-border);box-shadow:0 10px 24px #1677ff14;transform:translateY(-1px)}.reference-warning-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px}.reference-warning-item strong,.reference-todo-item strong,.reference-activity-item strong{color:var(--yl-text-main);font-size:13px}.reference-warning-item small,.reference-todo-item small,.reference-activity-item small{color:var(--yl-text-secondary);font-size:12px;line-height:1.5}.reference-warning-item small{grid-column:2}.reference-todo-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.reference-todo-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;color:var(--yl-primary);background:var(--yl-primary-soft)}.reference-todo-item span:nth-child(2){display:grid;min-width:0;gap:3px}.reference-todo-item i{color:var(--yl-primary);font-size:12px;font-style:normal;font-weight:760;white-space:nowrap}.reference-todo-item em{justify-self:start;font-style:normal}.insight-label{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;color:var(--yl-purple);background:var(--yl-purple-soft);font-size:12px;font-weight:800}.reference-insight-score{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.reference-insight-score strong{color:var(--yl-primary);font-size:32px;font-weight:880;line-height:1}.reference-insight-score span{color:var(--yl-text-secondary);font-size:13px}.reference-activity-item{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--yl-border-soft);border-radius:14px;background:#fbfdff}.reference-activity-item>span:first-child{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px}.reference-activity-item div{display:grid;min-width:0;gap:3px}.status-badge,.tag,.badge,.risk-level-badge,.risk-badge,.pending-badge,.task-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:760;line-height:1;white-space:nowrap}.tag-green,.status-done,.status-success{color:#00875a;border-color:#00b5782e;background:var(--yl-success-soft)}.tag-blue,.status-running,.status-active{color:var(--yl-primary);border-color:#1677ff2e;background:var(--yl-primary-soft)}.tag-orange,.status-warning,.status-pending{color:#d46b08;border-color:#fa8c1638;background:var(--yl-warning-soft)}.tag-red,.status-danger,.status-risk{color:#cf1322;border-color:#f5222d38;background:var(--yl-danger-soft)}.tag-gray,.status-muted{color:var(--yl-text-secondary);border-color:var(--yl-border);background:#f1f5f9}.risk-badge.risk-high,.risk-level-badge.risk-high{color:#cf1322;border-color:#f5222d38;background:var(--yl-danger-soft)}.risk-badge.risk-medium,.risk-level-badge.risk-medium{color:#d46b08;border-color:#fa8c1638;background:var(--yl-warning-soft)}.risk-badge.risk-low,.risk-level-badge.risk-low{color:#00875a;border-color:#00b5782e;background:var(--yl-success-soft)}.money-inline,.amount-inline,.reference-kpi-card strong,.metric-card-value,.finance-stats span,.dashboard-card span,.stats-grid span{font-family:var(--yl-number-font);font-variant-numeric:tabular-nums;white-space:nowrap}.project-table,.archive-table,.compact-table,.log-table,.workflow-table{border:1px solid var(--yl-border-soft)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--yl-shadow-card)!important}.project-table{--project-table-head-height: 56px;--project-table-row-height: 72px}.project-table .project-head{height:var(--project-table-head-height);min-height:var(--project-table-head-height);max-height:var(--project-table-head-height)}.project-table .project-item{height:var(--project-table-row-height);min-height:var(--project-table-row-height);max-height:var(--project-table-row-height);align-items:stretch;overflow:hidden}.project-table .project-row>span{box-sizing:border-box;height:100%;min-height:inherit;max-height:inherit;overflow:hidden}.project-table .project-actions-head,.project-table .project-actions-cell{align-self:stretch;height:100%;min-height:inherit;max-height:inherit}.project-cell-text{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-cell-text-multiline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.project-head>span,.workflow-table-head span,.finance-head,.admin-head,.department-head,.log-head,.import-error-head{color:var(--yl-text-secondary)!important;background:#f8fbff!important;font-weight:800!important}.log-table{width:100%}.system-log-table{overflow-x:auto}.log-table .log-row{width:100%;min-width:0;gap:10px;padding:10px 0}.system-log-row{min-width:1060px!important;grid-template-columns:minmax(96px,.55fr) minmax(260px,1.6fr) minmax(180px,.9fr) minmax(150px,.8fr) minmax(110px,.55fr) minmax(220px,1fr)}.project-log-row{min-width:1760px!important;grid-template-columns:minmax(180px,1.1fr) minmax(160px,.9fr) minmax(80px,.45fr) minmax(170px,.9fr) minmax(150px,.8fr) minmax(130px,.7fr) minmax(150px,.8fr) minmax(110px,.6fr) minmax(300px,1.5fr) minmax(88px,.45fr)}.project-log-table{overflow-x:auto}.project-log-detail{position:relative}.project-log-detail>summary{cursor:pointer;color:var(--yl-primary);white-space:nowrap}.project-log-detail[open]>dl{position:absolute;z-index:12;right:0;width:min(520px,70vw);margin:8px 0 0;padding:12px;border:1px solid var(--yl-border);border-radius:6px;background:#fff;box-shadow:var(--yl-shadow-lg)}.project-log-detail dl div+div{margin-top:8px}.project-log-detail dt{color:var(--yl-text-secondary);font-size:12px}.project-log-detail dd{margin:3px 0 0;white-space:normal;word-break:break-all}.log-table .log-row>span{justify-content:flex-start;min-height:48px;padding:10px 14px;text-align:left}.system-log-row>span:nth-child(1),.system-log-row>span:nth-child(3),.system-log-row>span:nth-child(4),.system-log-row>span:nth-child(5),.project-log-row>span:nth-child(3),.project-log-row>span:nth-child(4){justify-content:center;text-align:center;white-space:nowrap}.system-log-row>span:nth-child(6),.project-log-row>span:nth-child(9){font-family:var(--yl-number-font);font-size:13px;line-height:1.45;word-break:break-all}.project-item:hover>span,.project-item:hover>.project-actions-cell,.archive-row:hover>span{background:#f6faff!important}.project-create-panel{padding-top:24px}.project-create-head{display:inline-flex;align-items:center;gap:16px;margin-bottom:18px}.project-create-title{display:inline-flex;width:auto;min-height:36px;gap:10px;margin:0;color:var(--yl-text-main);flex-shrink:0}.project-create-title svg{color:var(--yl-primary)}.project-create-title h2{margin:0;font-size:20px;font-weight:820;letter-spacing:0}.project-type-segmented.compact{display:inline-grid;grid-template-columns:repeat(5,minmax(112px,1fr));width:min(660px,100%);min-height:40px;gap:4px;margin:0;border:1px solid var(--yl-border-soft);border-radius:14px;background:#f3f7fc;padding:4px;box-shadow:inset 0 1px 2px #0f172a0a}.project-type-segmented.compact button{min-height:32px;height:32px;border:1px solid transparent;border-radius:10px;color:var(--yl-text-secondary);font-size:13px;font-weight:720;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.project-type-segmented.compact button:hover:not(.selected){border-color:var(--yl-primary-border);background:var(--yl-primary-soft);color:var(--yl-primary)}.project-type-segmented.compact button.selected{border-color:var(--yl-primary);background:linear-gradient(135deg,#1677ff,#2563eb);color:#fff;box-shadow:0 8px 18px #2563eb2e}@media(max-width:760px){.project-create-head{display:grid;gap:12px}.project-type-segmented.compact{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}.compact-table>.table-empty-state{min-width:720px;box-sizing:border-box;margin:0;padding:24px 16px;text-align:center}.project-actions-head,.project-actions-cell{border-left-color:var(--yl-border-soft)!important;box-shadow:-10px 0 18px #0f172a0d!important}.project-context-tabs,.initiation-detail-tabs,.tab-row,.archive-tabs{gap:6px!important;overflow-x:auto;border:0!important;border-radius:14px!important;padding:4px!important;background:#f1f5f9!important}.project-context-tabs button,.initiation-detail-tabs button,.tab-button{min-height:34px!important;border:0!important;border-radius:10px!important;color:var(--yl-text-secondary)!important;background:transparent!important;font-size:13px!important;font-weight:700!important;white-space:nowrap}.project-context-tabs button:hover,.initiation-detail-tabs button:hover,.tab-button:hover{color:var(--yl-primary)!important;background:#ffffffbf!important}.project-context-tabs button.active,.initiation-detail-tabs button.active,.tab-button.active{color:var(--yl-primary)!important;background:#fff!important;box-shadow:0 6px 16px #0f172a0f!important}.finance-section{display:grid;gap:16px}.finance-stats{display:grid!important;grid-template-columns:repeat(4,minmax(160px,1fr))!important;gap:12px!important}.finance-stats span{display:flex;flex-direction:column;justify-content:center;min-height:82px;gap:6px;padding:14px 16px;border:1px solid var(--yl-border-soft);border-radius:16px;color:var(--yl-text-regular);background:linear-gradient(180deg,#fffffffc,#f8fbfffa);box-shadow:0 8px 22px #0f172a0a;font-size:13px;font-weight:700}.archive-readonly-banner{border-color:#1677ff2e!important;border-radius:16px!important;color:var(--yl-primary-active)!important;background:var(--yl-primary-soft)!important}.archive-detail-summary div{border-color:var(--yl-border-soft)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 22px #0f172a0a}.drawer-backdrop{background:#0f172a4d!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.right-drawer{background:#fffffffa!important;box-shadow:-18px 0 48px #0f172a29!important}.drawer-title{border-bottom-color:var(--yl-border-soft)!important}.right-drawer{width:min(560px,92vw);height:100vh;display:flex;flex-direction:column}.drawer-body{flex:1;overflow-y:auto;padding:18px 24px}.drawer-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--yl-border-soft);background:#fff}.drawer-actions .primary-button,.drawer-actions .text-button{width:auto;min-width:96px;height:40px}.form-actions,.section-actions,.button-row{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.form-grid+.button-row,.form-grid+.form-actions,.single-field+.button-row{margin-top:18px}.field-label{display:inline-flex;width:fit-content;align-items:center;gap:2px;white-space:nowrap}.required-label:after{content:"*";color:var(--yl-danger)}.required-mark{color:var(--yl-danger);font-weight:800}.role-required-title{margin-top:12px;color:var(--yl-text-regular);font-size:13px;font-weight:760}.field-error,.field-hint{display:block;margin-top:6px;font-size:12px;line-height:1.45}.field-error{color:var(--yl-danger)}.field-hint{color:var(--yl-text-secondary)}.yes-no-segmented{display:inline-flex;width:fit-content;overflow:hidden;border:1px solid var(--yl-border);border-radius:10px;background:#f8fafc}.yes-no-segmented button{min-width:52px;border:0;padding:7px 14px;color:var(--yl-text-secondary);background:transparent;cursor:pointer}.yes-no-segmented button.active{color:#fff;background:var(--yl-primary)}.input-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid var(--yl-border);border-radius:10px;background:#fff}.input-with-suffix input{min-width:0;border:0!important;box-shadow:none!important}.input-with-suffix em{padding:0 12px;color:var(--yl-text-secondary);font-style:normal;font-weight:760}.stage-attachment-readonly{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:8px}.stage-attachment-actions{display:inline-flex;width:max-content;align-items:center;justify-content:flex-end;gap:6px}.stage-attachment-actions .text-button{width:auto;min-width:0;flex:0 0 auto;padding-inline:9px}.timeline-attachment-badge{border-color:#ef444447!important;background:var(--yl-danger-soft)!important;color:var(--yl-danger)!important;font-weight:800}.closeout-reminder{align-items:flex-start}.closeout-reminder>div{min-width:0;flex:1}.closeout-reminder p{margin:4px 0 8px;line-height:1.55}.closeout-reminder ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.closeout-reminder li{display:grid;gap:2px;border-left:3px solid #94a3b8;padding-left:9px}.closeout-reminder li.warning{border-left-color:var(--yl-danger);color:#991b1b}.closeout-reminder li.ok{border-left-color:#16a34a}.closeout-reminder li small{color:var(--yl-text-secondary);font-size:11px}.closeout-reminder li ol{display:grid;gap:4px;margin:4px 0 2px;padding-left:20px;color:var(--yl-text-regular);font-size:12px;line-height:1.55}.closeout-reminder li ol li{display:list-item;border-left:0;padding-left:0}.stage-attachment-readonly span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-confirm-summary,.payload-detail-grid{display:grid;gap:10px}.stage-confirm-summary div,.payload-detail-grid span{min-width:0;border:1px solid var(--yl-border-soft);border-radius:12px;padding:10px 12px;background:#f8fafc}.payload-detail-grid span{display:grid;grid-template-columns:minmax(112px,.34fr) minmax(0,1fr);gap:10px;align-items:start}.payload-detail-grid b{color:var(--yl-text-secondary);font-size:12px;font-weight:700}.payload-detail-grid em{min-width:0;color:var(--yl-text-main);font-style:normal;overflow-wrap:anywhere}.stage-snapshot-section{order:-1}.stage-confirm-summary dt{margin-bottom:4px;color:var(--yl-text-secondary);font-size:12px}.stage-confirm-summary dd{margin:0;color:var(--yl-text-main);font-size:13px;font-weight:760}.stage-detail-section{display:grid;gap:10px;margin-top:18px}.timeline-action-row{margin-top:10px}@media(max-width:960px){.role-list-card{position:static;max-height:none}.stage-attachment-readonly{grid-template-columns:auto minmax(0,1fr)}.stage-attachment-readonly>small,.stage-attachment-actions{grid-column:2}.stage-attachment-actions{justify-self:start}}@media(max-width:1420px){.reference-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-dashboard-grid,.reference-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-stats{grid-template-columns:repeat(2,minmax(160px,1fr))!important}}@media(max-width:860px){.app-main>.reference-dashboard-page{width:calc(100% - 32px);margin:16px}.reference-dashboard-hero{flex-direction:column}.reference-kpi-strip,.reference-dashboard-grid,.reference-bottom-grid,.finance-stats{grid-template-columns:1fr!important}.reference-donut-layout{grid-template-columns:1fr}}.local-license-banner{display:grid;grid-template-columns:22px minmax(0,1fr) auto;width:calc(100% - 48px);min-height:48px;align-items:center;gap:10px;margin:18px 24px 0;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:10px 14px;background:var(--yl-primary-soft);color:var(--yl-text-strong);font-size:14px;line-height:1.55}.local-license-banner.is-blocked{border-color:#ef444447;background:var(--yl-danger-soft);color:#991b1b}.local-license-banner.is-read-only,.local-license-banner.is-maintenance{border-color:#f59e0b57;background:var(--yl-warning-soft);color:#92400e}.local-license-banner__icon{display:inline-flex;align-items:center;justify-content:center}.local-license-banner button,.local-authorization-section .secondary-button,.local-authorization-error .secondary-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:7px 11px;background:#fff;color:var(--yl-primary);cursor:pointer;font-weight:700;white-space:nowrap}.local-license-banner button:hover,.local-authorization-section .secondary-button:hover:not(:disabled),.local-authorization-error .secondary-button:hover:not(:disabled){border-color:var(--yl-primary);background:var(--yl-primary-soft)}.local-authorization-section .secondary-button:disabled,.local-authorization-error .secondary-button:disabled{cursor:not-allowed;opacity:.62}.authorization-route-state{min-height:180px;margin:24px}.local-authorization-hero{min-height:118px}.local-runtime-badge{display:inline-flex;min-width:126px;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(16,185,129,.3);border-radius:var(--yl-radius-sm);padding:9px 12px;background:var(--yl-success-soft);color:#047857;font-weight:800}.local-runtime-badge.is-read-only{border-color:#f59e0b57;background:var(--yl-warning-soft);color:#92400e}.local-runtime-badge.is-blocked{border-color:#ef444447;background:var(--yl-danger-soft);color:#991b1b}.local-authorization-summary article{min-height:118px}.local-authorization-summary article span{line-height:1.45;white-space:normal}.local-authorization-section .panel-title.split{gap:16px}.local-authorization-section .panel-title h2{margin:0}.local-authorization-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;overflow:hidden;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm)}.local-authorization-detail-grid div{display:grid;grid-template-columns:minmax(108px,.42fr) minmax(0,1fr);min-height:48px;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--yl-border-soft)}.local-authorization-detail-grid div:nth-child(odd){border-right:1px solid var(--yl-border-soft)}.local-authorization-detail-grid div:nth-last-child(-n+2){border-bottom:0}.local-authorization-detail-grid dt,.local-authorization-detail-grid dd{margin:0}.local-authorization-detail-grid dt{color:var(--yl-text-secondary);font-size:13px}.local-authorization-detail-grid dd{overflow-wrap:anywhere;color:var(--yl-text-main);font-size:14px;font-weight:700}.local-refresh-required{display:flex;align-items:center;gap:8px;margin:0 0 12px;border:1px solid rgba(245,158,11,.28);border-radius:var(--yl-radius-sm);padding:9px 11px;background:var(--yl-warning-soft);color:#92400e;font-size:13px}.local-binding-state,.local-authorization-error{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:15px;background:var(--yl-bg-soft);color:var(--yl-text-regular)}.local-binding-state>div,.local-authorization-error>div{display:grid;min-width:0;flex:1;gap:5px}.local-binding-state strong,.local-authorization-error strong{color:var(--yl-text-main)}.local-binding-state span,.local-authorization-error span,.local-binding-state small{line-height:1.55}.local-binding-state small{color:var(--yl-text-secondary)}.local-binding-state.is-success{border-color:#10b98142;background:var(--yl-success-soft);color:#047857}.local-binding-state.is-warning{border-color:#f59e0b47;background:var(--yl-warning-soft);color:#92400e}.local-binding-state.is-danger,.local-authorization-error{border-color:#ef44443d;background:var(--yl-danger-soft);color:#991b1b}.local-binding-state.is-info{border-color:var(--yl-primary-border);background:var(--yl-primary-soft);color:var(--yl-primary-active)}.local-authorization-notes{display:grid;gap:10px;margin:0;padding-left:20px;color:var(--yl-text-regular);font-size:14px;line-height:1.6}.local-authorization-error{align-items:center}@media(max-width:760px){.app-header{min-height:var(--yl-header-height);flex-direction:row;align-items:center;gap:12px}.header-brand{min-width:0;flex:1 1 auto;flex-basis:auto;max-width:none}.header-title{font-size:20px}.header-actions{width:auto;flex:0 0 auto;gap:8px}.app-layout{grid-template-columns:minmax(0,1fr)}.app-sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--yl-border)}.app-main{width:100%;height:calc(100vh - var(--yl-header-height) - 70px);min-height:520px}.local-license-banner{grid-template-columns:22px minmax(0,1fr);width:calc(100% - 24px);margin:12px}.local-license-banner button{grid-column:1 / -1;width:100%}.local-authorization-hero{display:grid}.local-runtime-badge{min-width:0}.local-authorization-section .panel-title.split,.local-authorization-error{align-items:stretch;flex-direction:column}.local-authorization-section .secondary-button,.local-authorization-error .secondary-button{width:100%}.local-authorization-detail-grid{grid-template-columns:1fr}.local-authorization-detail-grid div,.local-authorization-detail-grid div:nth-child(odd),.local-authorization-detail-grid div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--yl-border-soft)}.local-authorization-detail-grid div:last-child{border-bottom:0}}.enterprise-select{position:relative;width:100%;min-width:0}.enterprise-select-trigger{display:flex;width:100%;min-width:0;min-height:40px;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:0 11px;background:#fff;color:var(--yl-text-main);font:inherit;letter-spacing:0;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.enterprise-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enterprise-select-trigger .is-placeholder{color:var(--yl-text-muted)}.enterprise-select-trigger svg{flex:0 0 auto;color:var(--yl-primary);transition:transform .16s ease}.enterprise-select-trigger svg.is-open{transform:rotate(180deg)}.enterprise-select-trigger:hover:not(:disabled){border-color:var(--yl-primary-border);background:var(--yl-bg-hover)}.enterprise-select-trigger:focus-visible{border-color:var(--yl-primary);outline:0;box-shadow:0 0 0 3px #2563eb1f}.enterprise-select-trigger:disabled{background:var(--yl-bg-soft);color:var(--yl-text-muted);cursor:not-allowed}.enterprise-select-layer{position:fixed;inset:0;z-index:2600;background:transparent}.enterprise-select-panel{position:fixed;display:flex;min-width:0;max-height:min(420px,calc(100vh - 24px));flex-direction:column;overflow:hidden;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);background:#fff;box-shadow:0 18px 48px #0f172a2e}.enterprise-select-search{display:grid;min-height:40px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:10px 10px 4px;border:1px solid var(--yl-border);border-radius:7px;padding:0 10px;color:var(--yl-text-secondary)}.enterprise-select-search:focus-within{border-color:var(--yl-primary);box-shadow:0 0 0 3px #2563eb1a}.enterprise-select-search input{min-width:0;min-height:38px;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;color:var(--yl-text-main);font:inherit}.enterprise-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px;outline:0}.enterprise-select-option{display:grid;width:100%;min-height:40px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;border:0;border-radius:6px;padding:7px 9px;background:transparent;color:var(--yl-text-main);font:inherit;letter-spacing:0;text-align:left;cursor:pointer}.enterprise-select-option+.enterprise-select-option{margin-top:2px}.enterprise-select-option:hover,.enterprise-select-option.is-active{background:var(--yl-bg-hover)}.enterprise-select-option.is-selected{background:var(--yl-primary-soft);color:var(--yl-primary);font-weight:700}.enterprise-select-option:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--yl-primary-border)}.enterprise-select-option:disabled{color:var(--yl-text-muted);cursor:not-allowed}.enterprise-select-empty{margin:0;padding:22px 12px;color:var(--yl-text-muted);text-align:center}.stage-time-select .enterprise-select-trigger{min-height:30px;border:0;padding:0 2px 0 6px;background:transparent;box-shadow:none;text-align:center}.stage-time-select .enterprise-select-trigger svg{width:13px;height:13px}.stage-time-inputs:has(.enterprise-select-trigger:disabled){background:var(--yl-bg-soft);color:var(--yl-text-muted)}.notification-advance .enterprise-select-trigger{min-height:34px}.stage-history-guidance{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:11px 13px;background:var(--yl-primary-soft);color:var(--yl-text-secondary);line-height:1.55}.stage-history-guidance svg{flex:0 0 auto;color:var(--yl-primary)}.right-drawer.approval-drawer{width:min(1180px,calc(100vw - 40px));max-width:none;max-height:100vh;grid-template-rows:auto minmax(0,1fr);gap:0;overflow:hidden;padding:0;background:var(--yl-page-bg, #f4f7fc)}.approval-drawer>.drawer-title{min-height:64px;flex:0 0 auto;border-bottom:1px solid var(--yl-border-soft);padding:0 20px;background:#fff}.approval-drawer>.drawer-title h2{color:var(--yl-text-main);font-size:19px;font-weight:750}.expense-approval-close{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--yl-border);border-radius:7px;background:#f8fbff;color:var(--yl-text-secondary);cursor:pointer}.expense-approval-close:hover,.expense-approval-close:focus-visible{border-color:var(--yl-primary-border);outline:0;background:var(--yl-primary-soft);color:var(--yl-primary);box-shadow:0 0 0 3px #1677ff1a}.approval-drawer>.approval-drawer-form{overflow-y:auto;overscroll-behavior:contain;gap:14px;padding:16px 18px 22px}.approval-drawer-form>[data-testid=expense-reference-flow]{min-width:0}.approval-drawer-form>[data-testid=expense-reference-flow] .business-lifecycle{gap:10px;margin:0;border:0;padding:0;background:transparent;box-shadow:none}.approval-drawer-form>[data-testid=expense-reference-flow] .business-lifecycle__step{min-height:84px;grid-template-columns:34px minmax(0,1fr);gap:9px;border-color:#dfe7f2;padding:12px;box-shadow:0 5px 16px #143a6f0b}.approval-drawer-form>[data-testid=expense-reference-flow] .business-lifecycle__marker{width:34px;height:34px;font-size:13px}.approval-drawer-form>[data-testid=expense-reference-flow] .business-lifecycle__step:not(:last-child):after{right:-11px;width:11px}.approval-drawer .approval-detail-card{gap:12px;border-color:#dfe7f2;border-radius:8px;padding:15px;background:#fff;box-shadow:0 6px 20px #143a6f0b}.approval-drawer .expense-approval-detail{padding:0}.approval-drawer .expense-approval-detail__header{min-height:94px;border-bottom-color:var(--yl-border-soft);padding:16px 18px;background:#fff}.approval-drawer .expense-approval-detail__header h3{font-size:16px;font-weight:750}.approval-drawer .expense-approval-amount{color:var(--yl-primary);font-size:24px}.approval-drawer .expense-approval-facts>div{padding:11px 16px}.approval-drawer .expense-approval-facts dt{color:var(--yl-text-secondary);font-size:11px}.approval-drawer .expense-approval-facts dd{font-size:13px;font-weight:600}.approval-drawer .expense-approval-records>div{min-height:76px;padding:11px 0}.approval-drawer .expense-approval-records>div.is-done>b{background:var(--yl-primary-soft);color:var(--yl-primary)}.approval-drawer [data-testid=expense-current-process]{display:grid;gap:12px;padding:16px 18px}.approval-drawer [data-testid=expense-current-process]>label{gap:8px;color:var(--yl-text-main);font-size:13px;font-weight:650}.approval-drawer [data-testid=expense-current-process] textarea{min-height:84px;border-color:#d7e2f0;background:#fbfdff;font-weight:400;line-height:1.55}.approval-drawer .expense-approval-action-bar{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:10px;margin-top:2px;border-top:1px solid var(--yl-border-soft);padding-top:13px}.expense-approval-action-bar>button{display:inline-flex;width:auto;min-width:104px;min-height:38px;align-items:center;justify-content:center;gap:6px;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer}.expense-approval-reject{border:1px solid #e6aaa5;background:#fff;color:var(--yl-danger)}.expense-approval-reject:hover:not(:disabled){border-color:var(--yl-danger);background:#fff7f6}.expense-approval-approve{border:1px solid var(--yl-primary);background:var(--yl-primary);color:#fff}.expense-approval-approve:hover:not(:disabled){border-color:var(--yl-primary-hover);background:var(--yl-primary-hover)}.expense-approval-action-bar>button:focus-visible{outline:0;box-shadow:0 0 0 3px #1677ff1f}.expense-approval-action-bar>button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:980px){.right-drawer.approval-drawer{width:min(760px,100vw)}.approval-drawer>.approval-drawer-form{grid-template-columns:1fr}.approval-drawer-form>[data-testid=expense-reference-flow] .business-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}}.approval-drawer{width:min(1180px,calc(100vw - 40px));max-width:none}.approval-drawer-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);align-content:start;gap:16px}.approval-drawer-form>[data-testid=expense-reference-flow]{grid-column:1 / -1}.approval-drawer-form>.approval-detail-card:nth-of-type(1),.approval-drawer-form>.approval-detail-card:nth-of-type(2){grid-column:1}.approval-drawer-form>.approval-detail-card:nth-of-type(3){grid-column:2;grid-row:2 / span 2}.approval-drawer-form>[data-testid=expense-current-process]{grid-column:1 / -1}.expense-approval-detail{overflow:hidden;padding:0!important}.expense-approval-detail__header{display:flex;min-height:98px;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--yl-border-soft);padding:16px 18px;background:var(--yl-primary-soft)}.expense-approval-detail__header>div{min-width:0}.expense-approval-detail__header small,.expense-approval-detail__header span{display:block;color:var(--yl-text-secondary);font-size:12px}.expense-approval-section-kicker,.expense-approval-section-title{display:inline-flex!important;align-items:center;gap:8px;color:var(--yl-text-main)!important;font-size:15px!important;font-weight:750}.expense-approval-section-kicker>span,.expense-approval-section-title>span{display:block;width:4px;height:20px;flex:0 0 4px;border-radius:2px;background:var(--yl-primary)}.expense-approval-section-kicker{margin-bottom:4px}.expense-approval-detail__header h3{margin-top:5px;overflow:hidden;color:var(--yl-text-main);font-size:17px;text-overflow:ellipsis;white-space:nowrap}.expense-approval-detail__header span{margin-top:6px}.expense-approval-amount{flex:0 0 auto;color:var(--yl-primary);font-size:25px;font-weight:800;line-height:1.2;white-space:nowrap}.expense-approval-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.expense-approval-facts>div{min-width:0;border-top:1px solid var(--yl-border-soft);padding:12px 16px}.expense-approval-facts>div:nth-child(-n+2){border-top:0}.expense-approval-facts>div:nth-child(2n){border-left:1px solid var(--yl-border-soft)}.expense-approval-facts>div.wide{grid-column:1 / -1;border-left:0}.expense-approval-facts dt{color:var(--yl-text-muted);font-size:11px}.expense-approval-facts dd{margin:5px 0 0;overflow-wrap:anywhere;color:var(--yl-text-main);font-size:13px;font-weight:650;line-height:1.5}.expense-attachment-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.expense-attachment-section-heading span{color:var(--yl-text-muted);font-size:12px}.expense-approval-records{padding-left:36px}.expense-approval-records:before{left:14px}.expense-approval-records>div{min-height:82px;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:13px 0}.expense-approval-records>div:before{display:none}.expense-approval-records>div>i{position:absolute;top:14px;left:-36px;z-index:1;display:grid;width:28px;height:28px;place-items:center;border:2px solid #c9d4e3;border-radius:50%;background:#fff;color:#8290a4;font-size:11px;font-style:normal;font-weight:800}.expense-approval-records>div.is-done>i{border-color:#2cad70;background:#eaf8f1;color:#188655}.expense-approval-records>div.is-current>i{border-color:var(--yl-primary);background:var(--yl-primary);box-shadow:0 0 0 4px var(--yl-primary-soft);color:#fff}.expense-approval-records>div.is-stopped>i{border-color:var(--yl-danger);background:var(--yl-danger-soft);color:var(--yl-danger)}.expense-approval-records>div>span{display:flex;min-width:0;align-items:center;gap:7px;color:var(--yl-text-main);font-size:13px;font-weight:750}.expense-approval-records>div>span em{border-radius:4px;padding:2px 5px;background:var(--yl-primary-soft);color:var(--yl-primary);font-size:9px;font-style:normal}.expense-approval-records>div>strong,.expense-approval-records>div>small{grid-column:1}.expense-approval-records>div>b{grid-column:2;grid-row:1;align-self:center;border-radius:5px;padding:4px 7px;background:var(--yl-bg-soft);color:var(--yl-text-secondary);font-size:10px;white-space:nowrap}.expense-approval-records>div.is-done>b{background:#eaf8f1;color:#188655}.expense-approval-records>div.is-current>b{background:var(--yl-primary-soft);color:var(--yl-primary)}.expense-approval-records>div.is-stopped>b{background:var(--yl-danger-soft);color:var(--yl-danger)}.business-expense-attachment-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.expense-attachment-card{min-width:0;overflow:hidden;border:1px solid var(--yl-border);border-radius:8px;background:#fff}.expense-attachment-card__preview{position:relative;display:grid;aspect-ratio:4 / 3;place-items:center;overflow:hidden;border-bottom:1px solid var(--yl-border-soft);background:var(--yl-bg-soft);color:var(--yl-text-muted)}.expense-attachment-card__preview>img,.expense-attachment-card__preview>iframe{width:100%;height:100%;border:0}.expense-attachment-card__preview>img{object-fit:cover}.expense-attachment-card__preview>iframe{pointer-events:none;background:#fff}.expense-attachment-card__preview>span{display:grid;justify-items:center;gap:7px;padding:12px;font-size:11px;text-align:center}.expense-attachment-card__preview>button{position:absolute;inset:0;display:grid;place-items:center;border:0;background:transparent;color:transparent;cursor:zoom-in}.expense-attachment-card__preview>button:hover,.expense-attachment-card__preview>button:focus-visible{background:#09295652;color:#fff;outline:0}.expense-attachment-card__meta{display:grid;min-height:43px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px}.expense-attachment-card__meta span{display:grid;color:var(--yl-primary)}.expense-attachment-card__meta strong{overflow:hidden;color:var(--yl-text-main);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.expense-attachment-card__actions{display:flex;min-height:40px;align-items:center;gap:3px;border-top:1px solid var(--yl-border-soft);padding:4px 6px}.expense-attachment-card__actions button,.expense-attachment-preview-dialog header button,.expense-attachment-preview-dialog footer button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;border:0;border-radius:6px;padding:5px 8px;background:transparent;color:var(--yl-primary);font:inherit;font-size:11px;cursor:pointer}.expense-attachment-card__actions button:hover:not(:disabled){background:var(--yl-primary-soft)}.expense-attachment-card__actions button:last-child:not(:first-child){margin-left:auto}.expense-attachment-card__actions button:disabled,.expense-attachment-preview-dialog button:disabled{cursor:not-allowed;opacity:.45}.expense-attachment-preview-dialog{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:24px;background:#081830c2}.expense-attachment-preview-dialog>section{display:grid;width:min(1080px,calc(100vw - 48px));height:min(86vh,900px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0410234d}.expense-attachment-preview-dialog header,.expense-attachment-preview-dialog footer{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px}.expense-attachment-preview-dialog header{border-bottom:1px solid var(--yl-border)}.expense-attachment-preview-dialog footer{justify-content:flex-end;border-top:1px solid var(--yl-border)}.expense-attachment-preview-dialog header strong{min-width:0;overflow:hidden;color:var(--yl-text-main);text-overflow:ellipsis;white-space:nowrap}.expense-attachment-preview-dialog header button{width:36px;padding:0}.expense-attachment-preview-dialog footer button{min-height:38px;border:1px solid var(--yl-primary-border);padding:7px 12px;background:var(--yl-primary-soft)}.expense-attachment-preview-dialog__body{min-width:0;min-height:0;overflow:hidden;background:var(--yl-bg-soft)}.expense-attachment-preview-dialog__body img,.expense-attachment-preview-dialog__body iframe{width:100%;height:100%;border:0}.expense-attachment-preview-dialog__body img{object-fit:contain}.expense-attachment-preview-dialog__body iframe{background:#fff}@media(max-width:980px){.approval-drawer{width:min(760px,100vw)}.approval-drawer-form{grid-template-columns:1fr}.approval-drawer-form>.approval-detail-card:nth-of-type(1),.approval-drawer-form>.approval-detail-card:nth-of-type(2),.approval-drawer-form>.approval-detail-card:nth-of-type(3){grid-column:1;grid-row:auto}}.authenticated-shell .header-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset;font-size:20px!important}.header-brand,.header-brand-copy,.header-title-row{align-items:center}.header-brand-copy{gap:0}.user-row{grid-template-columns:52px minmax(92px,.7fr) minmax(100px,.8fr) minmax(170px,1.2fr) minmax(120px,.8fr) minmax(180px,1.2fr) minmax(72px,.5fr) minmax(176px,.9fr);min-width:1070px}.user-row .row-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:164px}.insight-label{flex:0 0 auto;min-width:max-content;white-space:nowrap}.project-status-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--yl-border-soft)}.project-status-breakdown>div{display:grid;gap:3px;min-width:0;border-radius:6px;padding:7px 4px;background:#f7faff;text-align:center}.project-status-breakdown span{overflow:hidden;color:var(--yl-text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-status-breakdown strong{color:var(--yl-text-main);font-size:14px}.project-stage-breakdown{display:grid;gap:7px;margin-top:10px}.project-stage-breakdown>span{color:var(--yl-text-secondary);font-size:11px;font-weight:700}.project-stage-breakdown>div{display:flex;flex-wrap:wrap;gap:6px}.project-stage-breakdown em{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--yl-primary-border);border-radius:5px;padding:4px 6px;background:var(--yl-primary-soft);color:var(--yl-primary);font-size:10px;font-style:normal;white-space:nowrap}.project-stage-breakdown em strong{font-size:11px}.system-parameters-page{display:grid;width:100%;min-width:0;gap:16px}.system-parameters-page--embedded{gap:0}.system-parameters-page--embedded .system-parameter-band{padding-top:0}.expense-type-settings{min-width:0}.expense-type-settings__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.expense-type-settings__head>div{display:grid;gap:4px}.expense-type-settings__head :is(h3,p){margin:0}.expense-type-settings__head h3{color:var(--yl-text-main);font-size:17px}.expense-type-settings__head p{color:var(--yl-text-secondary);font-size:13px;line-height:1.6}.expense-type-settings__loading{display:grid;min-height:120px;place-items:center;color:var(--yl-primary)}.expense-type-table{overflow-x:auto;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-sm);background:#fff}.expense-type-row{display:grid;grid-template-columns:70px minmax(220px,1.4fr) 110px 90px 100px 132px;min-width:820px;align-items:center;gap:12px;border-bottom:1px solid var(--yl-border-soft);padding:10px 12px;color:var(--yl-text-regular);font-size:12px}.expense-type-row:last-child{border-bottom:0}.expense-type-row--head{background:#f7faff;color:var(--yl-text-secondary);font-weight:750}.expense-type-row>span:nth-child(2){display:grid;min-width:0;gap:3px}.expense-type-row strong{overflow-wrap:anywhere;color:var(--yl-text-main);font-size:13px}.expense-type-row small{min-height:14px;color:var(--yl-text-secondary);font-size:10px}.expense-type-status{display:inline-flex;width:max-content;border:1px solid var(--yl-border);border-radius:5px;padding:4px 7px;background:var(--yl-bg-soft);color:var(--yl-text-muted);font-weight:700}.expense-type-status.active{border-color:var(--yl-primary-border);background:var(--yl-primary-soft);color:var(--yl-primary)}.expense-type-actions{display:flex;align-items:center;gap:6px}.icon-action{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:0;background:#fff;color:var(--yl-primary);cursor:pointer}.icon-action:hover:not(:disabled){border-color:var(--yl-primary);background:var(--yl-primary-soft)}.expense-type-settings .icon-action.danger{border-color:#f4b8b8;background:#fff;color:var(--yl-danger);box-shadow:none}.expense-type-settings .icon-action.danger:hover:not(:disabled){border-color:var(--yl-danger);background:var(--yl-danger-soft)}.icon-action:disabled{border-color:var(--yl-border);background:var(--yl-bg-soft);color:var(--yl-text-muted);cursor:not-allowed}.expense-type-dialog-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:#0f172a6b}.expense-type-dialog{display:grid;width:min(420px,100%);gap:16px;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-md);padding:18px;background:#fff;box-shadow:0 20px 50px #0f172a2e}.expense-type-dialog__head,.expense-type-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.expense-type-dialog__head h3{margin:0;font-size:17px}.expense-type-dialog label{display:grid;gap:6px;color:var(--yl-text-regular);font-size:13px;font-weight:700}.expense-type-dialog input{min-height:38px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:0 11px;outline:none;font:inherit}.expense-type-dialog input:focus-visible{border-color:var(--yl-primary);box-shadow:0 0 0 3px #1677ff1f}.disabled-expense-type-notice{display:block;border-left:3px solid var(--yl-primary);padding:7px 9px;background:var(--yl-primary-soft);color:var(--yl-text-regular);font-size:12px;font-weight:650}.expense-type-dialog__actions{justify-content:flex-end}@media(max-width:760px){.expense-type-settings__head{align-items:stretch;flex-direction:column}.expense-type-settings__head .primary-button{align-self:flex-start}}.system-parameter-loading{min-height:180px;place-items:center;border:0;background:transparent;color:var(--yl-primary)}.system-parameters-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--yl-border-soft);padding:4px 2px 16px}.system-parameters-heading>div{display:grid;gap:5px}.system-parameters-heading p,.system-parameters-heading h2,.system-parameters-heading span,.system-parameter-band h3,.system-parameter-band p{margin:0}.system-parameters-heading p{color:var(--yl-primary);font-size:12px;font-weight:750}.system-parameters-heading h2{font-size:24px}.system-parameters-heading span,.system-parameter-band-head p{color:var(--yl-text-secondary);font-size:13px;line-height:1.6}.system-parameter-band{display:grid;gap:16px;border-bottom:1px solid var(--yl-border-soft);padding:4px 2px 22px}.system-parameter-band-head{display:flex;align-items:flex-start;gap:11px}.system-parameter-band-head>div{display:grid;gap:4px}.system-parameter-band-head h3{font-size:17px}.system-parameter-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:6px;background:var(--yl-primary-soft);color:var(--yl-primary)}.project-prefix-grid,.stage-label-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.project-prefix-grid label,.system-parameter-control-row label,.stage-label-grid label{display:grid;min-width:0;gap:6px}.project-prefix-grid label>span,.system-parameter-control-row label>span,.stage-label-grid label>span{color:var(--yl-text-regular);font-size:13px;font-weight:700}.system-parameters-page :is(input,select){width:100%;min-width:0;min-height:38px;border:1px solid var(--yl-border);border-radius:var(--yl-radius-sm);padding:0 11px;outline:none;background:#fff;color:var(--yl-text-main);font-family:inherit;font-size:13px;line-height:1.4;letter-spacing:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.system-parameters-page :is(input,select):hover:not(:disabled){border-color:#1677ff73}.system-parameters-page :is(input,select):focus-visible{border-color:var(--yl-primary);box-shadow:0 0 0 3px #1677ff1f}.system-parameters-page :is(input,select):disabled{background:var(--yl-bg-soft);color:var(--yl-text-muted);cursor:not-allowed}.system-parameters-page input[type=number]{font-family:var(--yl-number-font);font-variant-numeric:tabular-nums}.system-parameters-page select{cursor:pointer}.system-parameters-page .system-parameter-secondary-button,.expense-type-dialog .system-parameter-secondary-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--yl-primary-border);border-radius:var(--yl-radius-sm);padding:8px 13px;background:#fff;box-shadow:0 4px 12px #1677ff0f;color:var(--yl-primary);font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.system-parameters-page .system-parameter-secondary-button:hover:not(:disabled){border-color:var(--yl-primary);background:var(--yl-primary-soft);color:var(--yl-primary-hover);box-shadow:0 8px 18px #1677ff1c;transform:translateY(-1px)}.expense-type-dialog .system-parameter-secondary-button:hover:not(:disabled){border-color:var(--yl-primary);background:var(--yl-primary-soft);color:var(--yl-primary-hover);box-shadow:0 8px 18px #1677ff1c;transform:translateY(-1px)}.system-parameters-page :is(.system-parameter-secondary-button,.system-parameter-primary-button):focus-visible{outline:none;box-shadow:0 0 0 3px #1677ff29}.expense-type-dialog .system-parameter-secondary-button:focus-visible{outline:none;box-shadow:0 0 0 3px #1677ff29}.system-parameters-page :is(.system-parameter-secondary-button,.system-parameter-primary-button):disabled{border-color:var(--yl-border);background:#f4f7fb!important;box-shadow:none!important;color:var(--yl-text-muted)!important;cursor:not-allowed;opacity:1;transform:none}.expense-type-dialog .system-parameter-secondary-button:disabled{border-color:var(--yl-border);background:#f4f7fb!important;box-shadow:none!important;color:var(--yl-text-muted)!important;cursor:not-allowed;opacity:1;transform:none}.system-parameters-page .system-parameter-primary-button{min-height:38px;margin-top:0;padding:8px 14px;border-radius:var(--yl-radius-sm);font-size:13px;font-weight:700;line-height:1;letter-spacing:0;white-space:nowrap}.system-parameters-page :is(.system-parameter-secondary-button,.system-parameter-primary-button) svg{flex:0 0 auto}.system-parameter-control-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(140px,.6fr) minmax(220px,1fr);gap:12px;align-items:end}.project-number-preview{display:grid;gap:5px;min-height:42px;border-left:3px solid var(--yl-primary);padding:5px 12px;background:#f8fbff}.project-number-preview span{color:var(--yl-text-secondary);font-size:11px}.project-number-preview strong{font-family:var(--yl-number-font);font-size:16px}.system-parameter-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.project-status-dictionary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.project-status-dictionary>div{display:grid;gap:4px;border:1px solid var(--yl-primary-border);border-left:3px solid var(--yl-primary);border-radius:var(--yl-radius-sm);padding:9px 10px;background:linear-gradient(135deg,#ffffff 0%,var(--yl-primary-soft) 100%)}.project-status-dictionary strong{font-size:13px}.project-status-dictionary span,.project-status-dictionary small,.stage-dictionary-group>div:first-child span,.stage-label-grid small{color:var(--yl-text-secondary);font-size:10px;line-height:1.45}.stage-dictionary-groups{display:grid;gap:18px}.stage-dictionary-group{display:grid;gap:10px}.stage-dictionary-group>div:first-child{display:flex;align-items:baseline;gap:8px}.stage-label-grid label{grid-template-rows:auto auto auto}.export-permission-table{display:grid;overflow-x:auto;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-sm)}.export-permission-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.7fr) minmax(170px,.9fr) minmax(80px,.5fr);min-width:650px;align-items:center;gap:12px;border-bottom:1px solid var(--yl-border-soft);padding:11px 8px;font-size:12px}.export-permission-row.head{background:#f7faff;color:var(--yl-text-secondary);font-weight:750}.export-permission-row>span:first-child{display:grid;gap:3px}.export-permission-row small{color:var(--yl-text-secondary);font-size:10px}.permission-enabled,.permission-disabled{display:inline-flex;width:max-content;align-items:center;border:1px solid transparent;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:750}.permission-enabled{border-color:var(--yl-primary-border);background:var(--yl-primary-soft);color:var(--yl-primary)}.permission-disabled{border-color:var(--yl-border);background:var(--yl-bg-soft);color:var(--yl-text-muted)}.export-permission-actions{justify-content:space-between}.export-permission-actions>span{color:var(--yl-text-secondary);font-size:12px}@media(max-width:1180px){.project-prefix-grid,.stage-label-grid,.project-status-dictionary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.system-parameters-heading,.stage-dictionary-group>div:first-child,.export-permission-actions{align-items:stretch;flex-direction:column}.project-prefix-grid,.stage-label-grid,.project-status-dictionary,.system-parameter-control-row{grid-template-columns:1fr}}.system-admin-modal-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.system-admin-modal{display:grid;width:min(100%,920px);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-xl);background:var(--yl-bg-card);box-shadow:var(--yl-shadow-panel)}.system-admin-modal.wide{max-width:920px}.system-admin-modal.compact{max-width:520px}.system-admin-modal-header,.system-admin-modal-footer{display:flex;align-items:center;padding:18px 22px}.system-admin-modal-header{justify-content:space-between;gap:16px;border-bottom:1px solid var(--yl-border-soft)}.system-admin-modal-header h2{min-width:0;color:var(--yl-text-strong);font-size:18px;font-weight:760}.system-admin-modal-body{min-height:0;overflow:auto;padding:22px}.system-admin-modal-footer{justify-content:flex-end;gap:12px;border-top:1px solid var(--yl-border-soft)}.system-admin-modal-close{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid transparent;border-radius:var(--yl-radius-md);padding:0;color:var(--yl-text-secondary);background:transparent;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.system-admin-modal-close:hover:not(:disabled){border-color:var(--yl-primary-border);color:var(--yl-primary);background:var(--yl-primary-soft)}.system-admin-modal-close:disabled{color:var(--yl-text-muted);cursor:not-allowed}.password-form{display:grid;gap:16px}.password-field{display:grid;gap:7px;color:var(--yl-text-strong);font-size:14px;font-weight:680}.password-input-wrap{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 42px;overflow:hidden;border:1px solid var(--yl-border-soft);border-radius:var(--yl-radius-md);background:var(--yl-bg-card)}.password-input-wrap:focus-within{border-color:var(--yl-primary);box-shadow:0 0 0 3px var(--yl-primary-soft)}.password-input-wrap input{width:100%;min-height:44px;border:0;padding:10px 12px;outline:0;background:transparent;color:var(--yl-text-strong)}.password-input-wrap button{display:grid;border:0;border-left:1px solid var(--yl-border-soft);place-items:center;background:var(--yl-primary-soft);color:var(--yl-primary);cursor:pointer}.password-policy-hint,.password-session-note{color:var(--yl-text-secondary);font-size:12px;line-height:1.6}.password-session-note{border-left:3px solid var(--yl-primary);padding:9px 11px;background:var(--yl-primary-soft)}.password-form-error{border-left:3px solid var(--yl-danger);padding:9px 11px;background:var(--yl-danger-soft);color:var(--yl-danger);font-size:13px;line-height:1.5}.password-strength-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.password-strength-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.password-strength-track i{height:6px;border-radius:3px;background:var(--yl-border-soft)}.password-strength-meter strong{font-size:12px;white-space:nowrap}.password-strength-meter.is-weak .password-strength-track i:first-child{background:var(--yl-danger)}.password-strength-meter.is-weak strong{color:var(--yl-danger)}.password-strength-meter.is-medium .password-strength-track i:nth-child(-n+2){background:var(--yl-warning)}.password-strength-meter.is-medium strong{color:var(--yl-warning)}.password-strength-meter.is-strong .password-strength-track i{background:var(--yl-success)}.password-strength-meter.is-strong strong{color:var(--yl-success)}@media(max-width:720px){.user-modal-form-grid{grid-template-columns:1fr}.user-list-title-actions{justify-content:flex-start}.system-admin-modal-backdrop{align-items:end;padding:12px}.system-admin-modal{width:100%;max-height:calc(100vh - 24px);border-radius:var(--yl-radius-lg)}.system-admin-modal-header,.system-admin-modal-footer,.system-admin-modal-body{padding:16px}.password-strength-meter{grid-template-columns:1fr;gap:7px}}.archive-stage-row{grid-template-columns:minmax(140px,1.1fr) minmax(92px,.7fr) minmax(168px,1.15fr) minmax(168px,1.15fr) minmax(88px,.65fr) minmax(132px,.9fr);min-width:980px}.archive-log-row{grid-template-columns:minmax(166px,1fr) minmax(168px,1fr) minmax(88px,.55fr) minmax(88px,.55fr) minmax(300px,1.8fr);min-width:1020px}.archive-expense-row{grid-template-columns:minmax(138px,1.05fr) minmax(142px,1fr) minmax(120px,.85fr) minmax(150px,1fr) minmax(180px,1.25fr) minmax(130px,.9fr);min-width:940px}.archive-stage-row>span,.archive-log-row>span,.archive-expense-row>span{box-sizing:border-box;display:flex;min-width:0;align-items:center;padding:0 16px}.archive-stage-row>span:first-child,.archive-log-row>span:first-child,.archive-expense-row>span:first-child{padding-left:24px}.archive-stage-history-drawer{width:min(620px,100vw)}.archive-stage-event-list{display:grid;gap:12px}.archive-stage-event-item{display:grid;gap:8px;padding:14px;border:1px solid var(--yl-border-soft);border-radius:12px;background:#fff}.archive-stage-event-item>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-stage-event-item>div:first-child span,.archive-stage-event-item small{color:var(--yl-text-secondary);font-size:12px}.archive-stage-event-item p{margin:0;color:var(--yl-text-regular);line-height:1.6}.expense-boss-direct-notice{color:var(--yl-primary-active)}.export-filter-panel :is(select,input){box-sizing:border-box;width:100%;min-height:42px;border:1px solid var(--yl-border);border-radius:10px;padding:9px 12px;background:#fff;color:var(--yl-text-regular);font:inherit;line-height:1.3;outline:none}.export-filter-panel :is(select,input):hover{border-color:#1677ff73}.export-filter-panel :is(select,input):focus{border-color:var(--yl-primary);box-shadow:0 0 0 3px #1677ff1f}@media(max-width:860px){.archive-stage-row,.archive-log-row,.archive-expense-row{min-width:900px}}.global-notice{position:fixed!important;top:calc(var(--yl-header-height, 64px) + 18px)!important;right:clamp(16px,2vw,28px)!important;left:auto!important;z-index:2200!important;width:min(386px,calc(100vw - 32px))!important;max-width:386px!important;min-height:74px;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto 28px;align-items:center;gap:12px;padding:14px 12px 14px 16px!important;overflow:hidden;border:1px solid rgba(226,232,240,.92)!important;border-radius:16px!important;background:#fffffff5!important;box-shadow:0 18px 46px #0f172a1f,0 4px 12px #2563eb0f!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--yl-text-main, #0f172a)!important;transform:translate(0);will-change:transform,opacity}.global-notice:before{position:absolute;inset:0 auto 0 0;width:4px;border-radius:16px 0 0 16px;background:var(--notice-color, #2563eb);content:""}.global-notice.is-entering{animation:ylNoticeSlideIn .26s cubic-bezier(.22,1,.36,1) both}.global-notice.is-leaving{animation:ylNoticeSlideOut .24s cubic-bezier(.4,0,1,1) both}@keyframes ylNoticeSlideIn{0%{opacity:0;transform:translate(calc(100% + 32px))}to{opacity:1;transform:translate(0)}}@keyframes ylNoticeSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 32px))}}.global-notice-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--notice-color, #2563eb);background:var(--notice-soft, #eff6ff);box-shadow:inset 0 0 0 1px var(--notice-ring, rgba(37, 99, 235, .1))}.global-notice-content{min-width:0;display:flex;flex-direction:column;gap:4px}.global-notice-content strong{display:block;color:var(--yl-text-main, #0f172a);font-size:15px;font-weight:760;line-height:1.2;letter-spacing:0}.global-notice-content span{display:block;overflow:hidden;color:var(--yl-text-secondary, #64748b);font-size:12.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.global-notice-chip{min-width:58px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid var(--notice-ring, rgba(37, 99, 235, .14));border-radius:999px;color:var(--notice-color, #2563eb);background:var(--notice-soft, #eff6ff);font-size:13px;font-weight:760;white-space:nowrap}.global-notice-close{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:#64748b!important;cursor:pointer;transition:color .16s ease,background .16s ease}.global-notice-close:hover{color:#0f172a!important;background:#f1f5f9!important}.global-notice.toast-save_success,.global-notice.toast-refresh_success{--notice-color: #10b981;--notice-soft: #ecfdf5;--notice-ring: rgba(16, 185, 129, .16)}.global-notice.toast-saving,.global-notice.toast-refreshing{--notice-color: #2563eb;--notice-soft: #eff6ff;--notice-ring: rgba(37, 99, 235, .16)}.global-notice.toast-operation_failed{--notice-color: #ef4444;--notice-soft: #fef2f2;--notice-ring: rgba(239, 68, 68, .18)}.global-notice.toast-operation_info{--notice-color: #0f766e;--notice-soft: #ecfeff;--notice-ring: rgba(15, 118, 110, .16)}.global-notice.toast-saving .global-notice-icon svg,.global-notice.toast-refreshing .global-notice-icon svg{animation:ylNoticeSpin .9s linear infinite}@keyframes ylNoticeSpin{to{transform:rotate(360deg)}}@media(max-width:640px){.global-notice{top:calc(var(--yl-header-height, 64px) + 12px)!important;right:12px!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;grid-template-columns:38px minmax(0,1fr) auto 26px;padding:12px!important;border-radius:14px!important}.global-notice-icon{width:36px;height:36px}.global-notice-chip{min-width:50px;height:26px;padding:0 9px;font-size:12px}}.app-main>.reference-dashboard-page{width:calc(100% - 32px);margin:16px}.reference-dashboard-page{gap:12px}.reference-dashboard-hero{min-height:92px;padding:16px 20px;border-radius:22px}.reference-dashboard-hero h2{margin:2px 0 6px;font-size:23px;line-height:1.2}.reference-dashboard-hero p{max-width:820px;font-size:13px;line-height:1.55}.reference-page-kicker{font-size:12px!important;letter-spacing:.08em}.dashboard-board{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:minmax(300px,auto);column-gap:16px;row-gap:16px}.reference-kpi-strip.dashboard-focus-grid{grid-column:1 / -1;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-width:0;align-self:start}.reference-kpi-card{min-height:116px;padding:15px 16px 14px;border-radius:16px}.reference-kpi-card:after{top:-34px;right:-34px;width:92px;height:92px;background:#1677ff11}.reference-kpi-icon{width:32px;height:32px;margin-bottom:10px;border-radius:11px}.reference-kpi-card p{font-size:12.5px;font-weight:760}.reference-kpi-card strong{margin-top:8px;font-size:clamp(18px,1.25vw,23px);line-height:1.08}.reference-kpi-card small{margin-top:8px;font-size:11.5px;line-height:1.3}.dashboard-reference-grid,.dashboard-reference-bottom-grid{display:contents}.dashboard-reference-grid>.reference-panel,.dashboard-reference-bottom-grid>.reference-panel,.project-distribution-panel,.cashflow-panel,.collection-panel,.reference-risk-panel,.expense-panel,.payable-panel,.pending-panel,.insight-panel,.activity-panel{grid-column:auto!important;width:100%;min-width:0}.dashboard-board .project-distribution-panel{order:1}.dashboard-board .pending-panel{order:2}.dashboard-board .reference-risk-panel{order:3}.dashboard-board .activity-panel{order:4}.dashboard-board>.project-distribution-panel,.dashboard-board .pending-panel,.dashboard-board .reference-risk-panel,.dashboard-board .activity-panel{height:clamp(460px,52vh,560px);min-height:0}.dashboard-board .insight-panel{order:5}.dashboard-board .expense-panel{order:6}.dashboard-board .payable-panel{order:7}.dashboard-board .cashflow-panel{order:8}.reference-panel{min-width:0;min-height:300px;height:100%;display:flex;flex-direction:column;overflow:hidden;padding:15px;border-radius:18px}.reference-panel-head{min-height:52px;margin-bottom:12px;flex-shrink:0}.reference-panel-head h3{margin:0;color:#0f2a4a;font-size:15px;line-height:1.3;white-space:nowrap}.reference-panel-head p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reference-donut-layout.compact,.reference-donut-layout{flex:1;grid-template-columns:minmax(142px,150px) minmax(0,1fr);gap:16px;min-width:0}.reference-donut-chart{position:relative;width:150px;height:132px;flex-shrink:0}.reference-donut-chart .reference-donut{position:relative;top:50%;left:50%;width:112px;height:112px;border-radius:999px;box-shadow:inset 0 0 0 1px #0f2a4a0a;transform:translate(-50%,-50%)}.reference-segment-donut:after{position:absolute;inset:24px;border-radius:999px;background:#fff;box-shadow:0 8px 20px #0f2a4a14;content:""}.reference-donut-svg{position:absolute;inset:6px 15px;z-index:1;width:120px;height:120px;overflow:visible;transform:rotate(-90deg)}.reference-donut-track,.reference-donut-segment{fill:none;stroke-width:24}.reference-donut-track{stroke:#e5edf8}.reference-donut-segment{cursor:pointer;outline:none;transition:filter .16s ease,opacity .16s ease,stroke-width .16s ease}.reference-donut-segment:hover,.reference-donut-segment:focus-visible{filter:brightness(1.04) drop-shadow(0 2px 3px rgba(15,42,74,.18));stroke-width:27}.reference-donut-tooltip{position:absolute;bottom:0;left:50%;z-index:4;display:flex;width:max-content;max-width:170px;flex-direction:column;gap:3px;padding:7px 9px;border-radius:6px;color:#fff;background:#071426f0;box-shadow:0 8px 20px #0f2a4a33;line-height:1.25;pointer-events:none;transform:translate(-50%)}.reference-donut-tooltip strong{overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.reference-donut-tooltip span{display:inline-flex;align-items:center;gap:5px;font-family:var(--yl-number-font);font-size:10.5px;white-space:nowrap}.reference-donut-tooltip i{width:8px;height:8px;flex-shrink:0;border:1px solid rgba(255,255,255,.9)}.reference-donut-center span,.reference-mini-bar-head,.reference-warning-item small,.reference-todo-item small,.reference-activity-item small{font-size:11.5px}.reference-legend-list{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0}.project-risk-summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(148,163,184,.35)}.project-risk-summary-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#ef4444;background:#fff1f2}.project-risk-summary div{min-width:0;display:flex;flex-direction:column;gap:2px}.project-risk-summary div>span,.expense-total-summary span{color:#64748b;font-size:12px;font-weight:600}.expense-total-summary span{white-space:nowrap}.project-risk-summary small{color:#94a3b8;font-size:11px;line-height:1.35}.project-risk-summary strong{color:#ef4444;font-size:13px;white-space:nowrap}.expense-total-summary{display:flex;width:132px;flex-direction:column;align-items:center;gap:2px;margin-top:-2px;padding-top:8px;border-top:1px dashed rgba(148,163,184,.35);text-align:center}.expense-total-summary strong{color:#0f2a4a;font-size:13px;font-weight:700;white-space:nowrap}.expense-donut-layout{align-items:start}.expense-donut-column{display:flex;min-width:0;flex-direction:column;align-items:center}.expense-status-legend{align-self:start;padding-top:10px}.reference-chart-bars{gap:9px}.reference-legend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}.reference-legend-name{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;color:#52657f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.reference-legend-name i{width:8px;height:8px;flex-shrink:0;border-radius:999px}.reference-legend-row strong{color:#0f2a4a;font-size:12px;font-weight:700;white-space:nowrap}.project-distribution-legend .reference-legend-row{grid-template-columns:minmax(0,1fr);gap:2px}.project-distribution-legend .reference-legend-name{overflow:visible;text-overflow:clip}.project-distribution-legend .reference-legend-row strong{padding-left:16px;overflow:visible;text-align:left;white-space:nowrap}.expense-status-legend .reference-legend-row{grid-template-columns:minmax(0,1fr);gap:2px}.expense-status-legend .reference-legend-name{overflow:visible;text-overflow:clip}.expense-status-legend .reference-legend-row strong{padding-left:16px;overflow:visible;text-align:left;white-space:nowrap}.company-logo-spec{flex:1 0 100%;max-width:760px;color:var(--yl-text-secondary);font-size:12px;line-height:1.55}.reference-legend-row-risk{padding-top:4px;border-top:1px dashed rgba(148,163,184,.35)}.reference-mini-bar-head{margin-bottom:5px}.reference-mini-bar-track{height:6px}.reference-warning-list,.reference-todo-list,.reference-activity-list{min-height:0;flex:1 1 auto;gap:8px;max-height:none;overflow-y:auto;padding-right:6px;scrollbar-gutter:stable;scrollbar-color:#aeb8c4 transparent;scrollbar-width:thin}.reference-warning-list::-webkit-scrollbar,.reference-todo-list::-webkit-scrollbar,.reference-activity-list::-webkit-scrollbar{width:7px}.reference-warning-list::-webkit-scrollbar-track,.reference-todo-list::-webkit-scrollbar-track,.reference-activity-list::-webkit-scrollbar-track{background:transparent}.reference-warning-list::-webkit-scrollbar-thumb,.reference-todo-list::-webkit-scrollbar-thumb,.reference-activity-list::-webkit-scrollbar-thumb{border-radius:999px;background:#aeb8c4}.reference-warning-item,.reference-todo-item,.reference-activity-item{border-radius:13px;background:#fbfdff;border:1px solid var(--yl-border-soft);box-shadow:none}.reference-warning-item{padding:10px;gap:5px 9px}.reference-warning-item strong,.reference-todo-item strong,.reference-activity-item strong{overflow:hidden;font-size:12.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.reference-todo-item{grid-template-columns:32px minmax(0,1fr) auto;padding:10px;gap:9px}.reference-todo-icon,.reference-activity-item>span:first-child{width:32px;height:32px;border-radius:11px}.reference-todo-item i{font-size:12px;font-weight:800}.reference-activity-item{width:100%;padding:9px 10px;text-align:left}.reference-activity-item.as-button{appearance:none;cursor:pointer}.reference-activity-item.as-button:hover{border-color:var(--yl-primary-border);box-shadow:0 10px 24px #1677ff14;transform:translateY(-1px)}.reference-insight-score{margin-bottom:12px}.reference-insight-score strong{font-size:28px}.reference-insight-score span{font-size:12.5px}.dashboard-state.compact{min-height:120px;border-radius:14px;font-size:13px}.shell :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea){border:1px solid var(--yl-border);background:#fff;color:var(--yl-text-main)}.shell :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea):focus-visible{border-color:var(--yl-primary);outline:none;box-shadow:0 0 0 3px #1677ff1a}.shell :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea):disabled{background:var(--yl-bg-soft);color:var(--yl-text-muted)}@media(min-width:1280px)and (max-height:900px){.reference-dashboard-hero{min-height:82px;padding:14px 18px}.reference-dashboard-hero h2{font-size:21px}.reference-kpi-card{min-height:104px;padding:13px 14px}.reference-donut{width:100px;height:100px}.reference-donut-layout.compact,.reference-donut-layout{grid-template-columns:minmax(126px,134px) minmax(0,1fr)}.reference-donut-chart{width:134px;height:116px}.reference-donut-svg{inset:8px 17px;width:100px;height:100px}.reference-donut-chart .reference-donut{width:100px;height:100px}}@media(max-width:1399px){.reference-kpi-strip.dashboard-focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-board,.dashboard-reference-grid,.dashboard-reference-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-main>.reference-dashboard-page{width:calc(100% - 24px);margin:12px}.reference-kpi-strip.dashboard-focus-grid,.dashboard-board,.dashboard-reference-grid,.dashboard-reference-bottom-grid{grid-template-columns:1fr!important}}
