:root{--ks-color-brand: #0f766e;--ks-color-brand-dark: #0f4f49;--ks-color-text: #12201d;--ks-color-muted: #66736f;--ks-color-border: #d7e3df;--ks-color-surface: #ffffff;--ks-color-page: #eef5f3;--ks-color-danger: #b42318;--ks-radius-sm: 6px;--ks-radius-md: 8px;--ks-radius-lg: 12px;--ks-shadow-card: 0 12px 30px rgba(18, 32, 29, .08);--ks-font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ks-color-page);color:var(--ks-color-text);font-family:var(--ks-font-family);font-size:14px;line-height:1.5;overflow-x:hidden}html,body,#root{width:100%;min-height:100%}button,a{font:inherit}.ks-app-shell{display:grid;min-height:100vh;grid-template-columns:260px minmax(0,1fr);min-width:0}.ks-sidebar{display:flex;flex-direction:column;gap:24px;min-width:0;padding:24px 18px;background:#0f4f49;color:#fff}.ks-brand{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 8px 18px;border-bottom:1px solid rgba(255,255,255,.18)}.ks-brand strong,.ks-brand span,.ks-nav-label{min-width:0;overflow-wrap:anywhere}.ks-brand strong{display:block;font-size:16px;line-height:1.45}.ks-brand span{display:block;margin-top:4px;color:#ffffffb8;font-size:12px}.ks-nav{display:grid;gap:6px}.ks-nav-link{display:flex;align-items:center;gap:10px;min-width:0;border-radius:var(--ks-radius-md);color:#ffffffc2;padding:11px 12px;text-decoration:none;transition:background .14s ease,color .14s ease}.ks-nav-label{flex:1 1 auto}.ks-nav-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:#f8d35c;color:#17352f;font-size:12px;font-weight:800;line-height:1}.ks-nav-link:hover{background:#ffffff1c;color:#fff}.ks-nav-link.is-active{background:#fff;color:var(--ks-color-brand-dark);font-weight:700}.ks-nav-link.is-active .ks-nav-badge{background:var(--ks-color-brand-dark);color:#fff}.ks-main{min-width:0;max-width:100%}.ks-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;padding:20px 32px;background:#ffffffdb;border-bottom:1px solid var(--ks-color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:0}.ks-topbar h1,.ks-hero-panel h2,.ks-section-head h2{margin:0;letter-spacing:0}.ks-topbar h1{margin-top:0;font-size:24px;line-height:1.25}.ks-eyebrow{color:var(--ks-color-brand);font-size:13px;font-weight:700}.ks-user-card{display:grid;justify-items:end;gap:4px;min-width:168px;padding:10px 14px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;box-shadow:var(--ks-shadow-card)}.ks-user-card span,.ks-user-card strong{max-width:220px;overflow-wrap:anywhere}.ks-user-card span{color:var(--ks-color-muted);font-size:13px}.ks-icon-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-muted);cursor:pointer}.ks-icon-action:hover{color:var(--ks-color-brand-dark);border-color:#0f766e73;background:#f2fbf8}.ks-content{min-width:0;padding:28px 32px 48px}.ks-return-context{display:flex;justify-content:flex-start;margin-bottom:14px}.ks-page-grid{display:grid;gap:20px}.ks-panel{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-lg);background:var(--ks-color-surface);box-shadow:var(--ks-shadow-card);padding:24px}.ks-access-panel{display:grid;gap:12px;max-width:720px}.ks-access-panel h2,.ks-access-panel p{margin:0}.ks-access-panel h2{font-size:22px;line-height:1.35}.ks-access-panel p{color:var(--ks-color-muted)}.ks-access-panel .ks-button{width:fit-content}.ks-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:84px;min-height:38px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:0 14px;background:#fff;color:var(--ks-color-text);font-size:14px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.ks-button:hover{border-color:#0f766e73;background:#f2fbf8}.ks-button:active{transform:translateY(1px)}.ks-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.ks-button-primary{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff}.ks-button-primary:hover{border-color:var(--ks-color-brand-dark);background:var(--ks-color-brand-dark)}.ks-button-secondary{color:var(--ks-color-brand-dark)}.ks-button-danger{border-color:#dc262652;background:#fff;color:var(--ks-color-danger)}.ks-button-danger:hover{border-color:#dc262680;background:#fff5f5}.ks-hero-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.ks-hero-panel h2{margin-top:8px;max-width:720px;font-size:28px;line-height:1.32}.ks-health{display:grid;min-width:150px;gap:6px;padding:14px;border-radius:var(--ks-radius-md);background:#ecf8f5;color:var(--ks-color-brand-dark)}.ks-health span{font-size:13px;color:var(--ks-color-muted)}.ks-health strong{font-size:22px}.ks-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ks-metric-card{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:18px}.ks-metric-card span{display:block;color:var(--ks-color-muted);font-size:14px}.ks-metric-card strong{display:block;margin-top:10px;font-size:30px;line-height:1}.ks-metric-card.is-primary{border-color:#0f766e6b;background:#effaf8}.ks-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.ks-section-head h2{margin-top:6px;font-size:22px}.workbench-page{gap:20px}.workbench-metric-grid{grid-template-columns:repeat(4,minmax(128px,1fr))}.workbench-metric-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-width:0;min-height:76px;gap:10px 12px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;box-shadow:var(--ks-shadow-card);padding:14px}.workbench-metric-card strong{grid-column:2;grid-row:1;color:var(--ks-color-text);font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}.workbench-metric-card span{grid-column:2;grid-row:2;min-width:0;color:var(--ks-color-muted);font-size:13px;line-height:1.3;white-space:nowrap}.workbench-metric-card.is-danger strong,.workbench-metric-card.is-danger .workbench-metric-icon{color:#b42318}.workbench-metric-icon{display:inline-grid;grid-column:1;grid-row:1 / span 2;width:34px;height:34px;place-items:center;border-radius:8px;color:var(--ks-color-brand);background:#0f766e1a}.workbench-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px;min-width:0}.workbench-main-stack{display:grid;align-content:start;gap:20px;min-width:0}.workbench-panel{display:grid;align-content:start;gap:16px}.workbench-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.workbench-section-head h2{margin:0;font-size:20px;line-height:1.3}.workbench-section-head span{display:block;margin-top:5px;color:var(--ks-color-muted);font-size:13px;overflow-wrap:anywhere}.workbench-todo-list,.workbench-reminder-list,.workbench-module-list{display:grid;gap:10px;min-width:0}.workbench-todo-card,.workbench-reminder-card,.workbench-module-card{display:grid;align-items:center;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);text-decoration:none;transition:border-color .14s ease,background .14s ease,transform .14s ease}.workbench-todo-card,.workbench-reminder-card{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px}.workbench-todo-card:hover,.workbench-reminder-card:hover,.workbench-module-card:hover{border-color:#0f766e66;background:#f8fcfb}.workbench-todo-card:active,.workbench-reminder-card:active,.workbench-module-card:active{transform:translateY(1px)}.workbench-todo-card.is-overdue{border-color:#b4231847;background:linear-gradient(180deg,#fff6f4e6,#fff)}.workbench-todo-card strong,.workbench-todo-card span,.workbench-reminder-card strong,.workbench-reminder-card span,.workbench-reminder-card p,.workbench-module-card span{min-width:0;overflow-wrap:anywhere}.workbench-todo-card strong,.workbench-reminder-card strong{display:block;margin-top:8px;font-size:15px;line-height:1.45}.workbench-todo-card>div>span,.workbench-reminder-card>div>span{display:block;margin-top:5px;color:var(--ks-color-muted);font-size:13px;line-height:1.5}.workbench-reminder-card{border-color:#b4231833;background:linear-gradient(180deg,#fff9f7f5,#fff)}.workbench-reminder-card p{margin:6px 0 0;color:var(--ks-color-muted);font-size:13px;line-height:1.45}.workbench-reminder-actions{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.workbench-todo-tags{display:flex;flex-wrap:wrap;gap:7px}.workbench-module-card{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:42px;padding:10px 12px;font-weight:700}.system-config-page{align-content:start}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--ks-color-page)}.auth-panel{display:grid;gap:24px;width:min(460px,100%);border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-lg);background:#fff;box-shadow:var(--ks-shadow-card);padding:28px}.auth-brand{display:flex;align-items:flex-start;gap:14px;min-width:0}.auth-brand svg{color:var(--ks-color-brand);flex:0 0 auto}.auth-brand span{color:var(--ks-color-brand);font-size:13px;font-weight:700}.auth-brand h1{margin:6px 0 0;font-size:24px;line-height:1.3;overflow-wrap:anywhere}.auth-form{display:grid;gap:16px}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.auth-form .ks-button{width:100%}.auth-code-row .ks-button{width:auto;white-space:nowrap}.auth-link{justify-self:center;color:var(--ks-color-brand-dark);font-size:14px;font-weight:700;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-result-card{display:flex;align-items:flex-start;gap:14px;min-width:0;border:1px solid rgba(15,118,110,.28);border-radius:var(--ks-radius-md);background:#effaf8;padding:18px;color:var(--ks-color-brand-dark)}.auth-result-card svg{flex:0 0 auto}.auth-result-card div{display:grid;gap:7px;min-width:0}.auth-result-card strong,.auth-result-card span{overflow-wrap:anywhere}.auth-result-card strong{font-size:18px}.auth-result-card span{color:var(--ks-color-muted);font-size:14px}.system-config-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.system-config-hero h2{margin:6px 0 0;font-size:28px;line-height:1.2}.system-config-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.ks-section-tabs{display:flex;gap:10px;min-width:0;overflow-x:auto;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-lg);background:#fff;padding:10px;box-shadow:var(--ks-shadow-card)}.ks-section-tabs a{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;min-height:36px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:0 13px;color:var(--ks-color-muted);font-size:14px;font-weight:700;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.ks-section-tabs a:hover{border-color:#0f766e73;color:var(--ks-color-brand-dark)}.ks-section-tabs a.is-active{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff}.system-config-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:20px;min-width:0}.system-config-workspace{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:20px;min-width:0;align-items:start}.system-config-list-panel,.system-config-edit-panel,.full-width-panel{min-width:0}.full-width-panel{grid-column:1 / -1}.system-picker-list{display:grid;gap:10px}.system-picker-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:13px;background:#fff;color:var(--ks-color-text);text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.system-picker-item:hover{border-color:#0f766e73;background:#f2fbf8}.system-picker-item.is-active{border-color:var(--ks-color-brand);background:#effaf8;color:var(--ks-color-brand-dark)}.system-picker-item.is-disabled{border-style:dashed;background:#f7f9f8;color:var(--ks-color-muted)}.system-picker-item span{display:grid;gap:5px;min-width:0}.system-picker-item strong,.system-picker-item em{min-width:0;overflow-wrap:anywhere}.system-picker-item em{color:var(--ks-color-muted);font-size:13px;font-style:normal}.form-grid{display:grid;gap:14px;min-width:0;margin-bottom:18px}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field,.read-field{display:grid;gap:8px;min-width:0}.form-field span,.read-field span{color:var(--ks-color-muted);font-size:13px;font-weight:700}.config-filter-panel{display:flex;align-items:flex-end;gap:10px;min-width:0;margin-bottom:14px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc}.config-search-control{display:grid;flex:1 1 auto;gap:8px;min-width:0}.config-search-control span{display:inline-flex;align-items:center;gap:6px;color:var(--ks-color-brand-dark);font-size:13px;font-weight:800}.config-search-control input{min-width:0;min-height:38px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);font:inherit;padding:0 12px}.config-search-control input:focus{outline:2px solid rgba(15,118,110,.18);border-color:var(--ks-color-brand)}.form-field select,.form-field input,.form-field textarea,.label-edit-row input{min-width:0;min-height:38px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);font:inherit;padding:0 12px}.form-field select:focus,.form-field input:focus,.form-field textarea:focus,.label-edit-row input:focus{outline:2px solid rgba(15,118,110,.18);border-color:var(--ks-color-brand)}.form-field textarea{min-height:118px;padding:10px 12px;line-height:1.6;resize:vertical}.read-field{border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc}.read-field strong{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.segmented-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.segment-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:0 12px;background:#fff;color:var(--ks-color-muted);font-size:13px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.segment-chip:hover{border-color:#0f766e73;color:var(--ks-color-brand-dark)}.segment-chip.is-active{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff}.empty-box{border:1px dashed var(--ks-color-border);border-radius:var(--ks-radius-md);padding:16px;color:var(--ks-color-muted);font-size:14px;text-align:center}.checkbox-grid{display:grid;gap:12px;min-width:0;margin-bottom:18px}.checkbox-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.check-card{display:flex;align-items:flex-start;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc;cursor:pointer;transition:background .14s ease,border-color .14s ease}.check-card:hover{border-color:#0f766e73;background:#f2fbf8}.check-card input,.action-check input{width:16px;height:16px;margin-top:2px;accent-color:var(--ks-color-brand);flex:0 0 auto}.check-card span{display:grid;gap:4px;min-width:0}.check-card strong,.check-card em{overflow-wrap:anywhere}.check-card em{color:var(--ks-color-muted);font-size:12px;font-style:normal}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.save-state{color:var(--ks-color-muted);font-size:13px;font-weight:700}.save-state.is-success{color:var(--ks-color-brand)}.save-state.is-error{color:var(--ks-color-danger)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-muted);cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.icon-button:hover{border-color:#0f766e73;background:#f2fbf8;color:var(--ks-color-brand-dark)}.icon-button:disabled{cursor:not-allowed;opacity:.55}.permission-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.permission-summary span{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 12px;background:#eef5f3;color:var(--ks-color-brand-dark);font-size:13px;font-weight:700}.permission-summary .is-warning{background:#fff7ed;color:#9a3412}.sms-service-panel{display:grid;gap:16px}.sms-service-summary,.sms-service-panel .form-grid,.sms-enable-card{margin-bottom:0}.sms-template-grid{grid-template-columns:minmax(0,1fr)}.sms-template-grid textarea{min-height:132px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}.permission-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;min-width:0;margin-bottom:14px}.permission-search-control{flex:1 1 260px}.role-permission-workspace{grid-template-columns:minmax(300px,.36fr) minmax(0,1fr)}.grouped-role-list{gap:16px}.role-group{display:grid;gap:8px;min-width:0}.role-group-title{color:var(--ks-color-muted);font-size:12px;font-weight:800}.compact-empty{padding:10px;font-size:13px}.create-role-box{display:grid;gap:14px;min-width:0;margin-top:20px;border-top:1px solid var(--ks-color-border);padding-top:18px}.project-type-create-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:12px;min-width:0;margin-bottom:16px}.project-type-list{display:grid;gap:10px;min-width:0}.project-type-item{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc}.project-type-item.is-disabled{background:#f7f9f8;color:var(--ks-color-muted)}.project-type-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.business-options-workspace{grid-template-columns:minmax(300px,.32fr) minmax(0,1fr)}.business-options-list-panel,.business-options-detail-panel{min-width:0}.business-options-list-panel .system-picker-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.business-options-list-panel .status-pill{justify-self:end}.business-options-summary{margin-bottom:14px}.business-option-create-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;min-width:0;margin-bottom:16px}.business-option-create-control{min-width:0}.business-option-create-actions{display:flex;justify-content:flex-end;min-width:0}.business-option-list{display:grid;gap:10px;min-width:0}.business-option-row{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(260px,1fr) auto;align-items:center;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:12px}.business-option-row.is-disabled{background:#f7f9f8}.business-option-name,.business-option-edit{display:grid;gap:7px;min-width:0}.business-option-name strong,.business-option-edit span{min-width:0;color:var(--ks-color-text);font-size:14px;font-weight:700;overflow-wrap:anywhere}.business-option-edit span{color:var(--ks-color-muted);font-size:12px}.business-option-edit input{min-width:0;min-height:38px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);font:inherit;padding:0 12px}.business-option-edit input:focus{outline:2px solid rgba(15,118,110,.18);border-color:var(--ks-color-brand)}.business-option-actions{display:flex;justify-content:flex-end;gap:8px;min-width:0}.business-option-actions .ks-button{min-width:76px}.contacts-page{align-content:start}.contacts-workspace{display:grid;grid-template-columns:minmax(320px,.34fr) minmax(0,1fr);gap:18px;min-width:0}.contacts-list-panel,.contacts-create-panel,.contacts-detail-panel,.contacts-approval-panel{min-width:0}.contacts-list-panel .system-picker-list,.contacts-list-panel .system-picker-item,.contacts-detail-panel .ks-section-head,.contacts-detail-panel .detail-panel-head,.contacts-detail-panel .detail-line-list,.contacts-detail-panel .detail-line-item>div,.contacts-approval-panel .ks-section-head,.contacts-approval-panel .detail-line-list{min-width:0}.contacts-list-panel .system-picker-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.contacts-list-panel .system-picker-item>span:first-child{min-width:0;max-width:100%}.contacts-list-panel .system-picker-item .status-pill{flex:0 0 auto}.contacts-list-panel .system-picker-item strong,.contacts-list-panel .system-picker-item em,.contacts-detail-panel .ks-section-head h2,.contacts-detail-panel .detail-panel-head h2,.contacts-detail-panel .detail-summary-card h3,.contacts-detail-panel .detail-summary-card p,.contacts-detail-panel .detail-line-item strong,.contacts-detail-panel .detail-line-item span,.contacts-detail-panel .detail-line-content strong,.contacts-detail-panel .detail-line-content em,.contacts-access-box .read-field strong,.contacts-access-box textarea,.contacts-approval-panel .ks-section-head h2,.contacts-approval-panel .detail-line-item strong,.contacts-approval-panel .detail-line-item span,.contacts-approval-panel .detail-line-content strong,.contacts-approval-panel .detail-line-content em{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.contacts-detail-panel .detail-line-item,.contacts-approval-panel .detail-line-item{min-width:0}.contacts-main-stack{display:grid;gap:18px;min-width:0}.contacts-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;min-width:0}.contacts-subsection{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:14px;background:#fbfdfc}.contacts-subsection>strong{color:var(--ks-color-text);font-size:14px}.contacts-contact-row{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.contacts-contact-row .contacts-contact-note-field{grid-column:span 2}.contacts-access-box{display:grid;gap:14px;min-width:0}.contacts-request-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:14px;background:#fff}.contacts-request-item>div:first-child{display:grid;gap:6px;min-width:0}.contacts-request-item strong,.contacts-request-item span{min-width:0;overflow-wrap:anywhere}.contacts-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;min-width:0}.contacts-info-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:14px;background:#fff}.contacts-info-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:var(--ks-color-primary);background:#0c735e1a}.contacts-info-card>div:last-child{display:grid;gap:5px;min-width:0}.contacts-info-card strong,.contacts-info-card span,.contacts-info-card em{min-width:0;overflow-wrap:anywhere}.contacts-info-card strong{color:var(--ks-color-text);font-size:15px}.contacts-info-card span,.contacts-info-card em{color:var(--ks-color-muted);font-size:13px;font-style:normal;line-height:1.45}.knowledge-page{align-content:start}.knowledge-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:18px}.knowledge-hero-control,.knowledge-primary-action{display:flex;align-items:center;min-width:0}.knowledge-library-switch{display:inline-flex;align-items:center;gap:6px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:4px}.knowledge-primary-action{justify-content:flex-end}.knowledge-filter-panel{display:grid;gap:12px}.knowledge-filter-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(140px,.32fr) minmax(170px,.42fr) minmax(130px,.28fr);gap:10px;min-width:0}.knowledge-search,.knowledge-select{width:100%;min-width:0}.knowledge-select{min-height:42px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);padding:0 12px;font:inherit}.knowledge-scope-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;justify-content:flex-start}.segmented-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);padding:0 14px;font:inherit;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.segmented-chip:hover{border-color:#0f766e5c;background:#f4fbf8;color:var(--ks-color-brand-dark)}.segmented-chip:active{transform:translateY(1px)}.segmented-chip.is-active{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff}.knowledge-workspace{display:grid;grid-template-columns:minmax(320px,.34fr) minmax(0,1fr);gap:18px;min-width:0}.knowledge-list-panel,.knowledge-form-panel,.knowledge-detail-panel{min-width:0}.knowledge-list{display:grid;gap:10px;min-width:0}.knowledge-list-item{display:grid;gap:8px;min-width:0;width:100%;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:12px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.knowledge-list-item:hover{border-color:#0f766e59;background:#f6fbfa}.knowledge-list-item:active{transform:translateY(1px)}.knowledge-list-item.is-active{border-color:#0f766e85;background:#eefaf7}.knowledge-list-title{display:grid;gap:4px;min-width:0}.knowledge-list-title strong{color:var(--ks-color-text);font-size:15px;line-height:1.35;overflow-wrap:anywhere}.knowledge-list-title em{color:var(--ks-color-muted);font-size:13px;font-style:normal;overflow-wrap:anywhere}.knowledge-list-meta,.knowledge-tag-row{display:flex;flex-wrap:wrap;gap:8px;min-width:0;color:var(--ks-color-muted);font-size:13px}.knowledge-main-stack,.knowledge-detail-stack{display:grid;gap:18px;min-width:0}.knowledge-wide-field{grid-column:1 / -1}.knowledge-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.knowledge-detail-title>div{min-width:0;max-width:100%}.knowledge-detail-title .ks-eyebrow{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.knowledge-detail-title h3{margin:4px 0 0;font-size:22px;line-height:1.35;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.knowledge-description-card{gap:10px}.knowledge-link-card{display:inline-flex;align-items:center;gap:8px;min-width:0;width:fit-content;max-width:100%;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#f8fbfa;color:var(--ks-color-brand-dark);padding:10px 12px;text-decoration:none}.knowledge-link-card:hover{border-color:#0f766e59;background:#eefaf7}.knowledge-link-card span{min-width:0;overflow-wrap:anywhere}.knowledge-status-draft{background:#f1f5f9;color:#475569}.knowledge-status-published{background:#ecfdf5;color:#047857}.knowledge-status-archived{background:#eef7fb;color:#2563eb}.role-config-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0;margin-bottom:16px}.data-scope-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;margin-bottom:4px}.permission-matrix-scroll{max-height:680px;margin-bottom:12px;overflow:auto;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff}.permission-matrix{display:grid;min-width:1120px}.permission-matrix-head,.permission-matrix-row{display:grid;grid-template-columns:168px repeat(6,minmax(140px,1fr))}.permission-matrix-head{position:sticky;top:0;z-index:3;border-bottom:1px solid var(--ks-color-border);background:#f4faf8}.permission-matrix-row{min-width:0;border-bottom:1px solid rgba(215,227,223,.8)}.permission-matrix-row:last-child{border-bottom:0}.permission-matrix-module-head,.permission-matrix-group-head{min-width:0;padding:12px;color:var(--ks-color-brand-dark);font-size:12px;font-weight:800;line-height:1.35}.permission-matrix-module-head{position:sticky;left:0;z-index:4;border-right:1px solid var(--ks-color-border);background:#f4faf8}.permission-matrix-module{position:sticky;left:0;z-index:2;display:grid;align-content:start;gap:8px;min-width:0;padding:12px;border-right:1px solid var(--ks-color-border);background:#fff}.permission-matrix-module strong{min-width:0;color:var(--ks-color-text);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.permission-row-toggle{justify-self:start}.permission-matrix-cell{display:grid;align-content:start;gap:7px;min-width:0;padding:10px;border-left:1px solid rgba(215,227,223,.52)}.permission-check{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:6px 8px;border:1px solid transparent;border-radius:var(--ks-radius-sm);color:var(--ks-color-muted);font-size:13px;line-height:1.35;cursor:pointer}.permission-check:hover{border-color:#0f766e38;background:#f2fbf8;color:var(--ks-color-brand-dark)}.permission-check input{flex:0 0 auto;margin-top:2px}.permission-check span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.permission-source{color:var(--ks-color-brand-dark);font-size:12px;font-style:normal;font-weight:800}.permission-source.role-source{color:var(--ks-color-muted)}.permission-check.is-disabled{cursor:not-allowed;opacity:.58}.permission-check.is-disabled:hover{border-color:transparent;background:transparent;color:var(--ks-color-muted)}.permission-empty{color:#66736f8c;font-size:13px;line-height:1.35}.permission-empty-state{margin-bottom:18px}.account-permission-scroll{max-height:440px}.account-permission-actions{margin-bottom:18px}.mini-link-button{border:0;background:transparent;color:var(--ks-color-brand-dark);font-size:13px;font-weight:700;cursor:pointer}.mini-link-button:hover{text-decoration:underline}.mini-link-button:disabled{color:var(--ks-color-muted);cursor:not-allowed;text-decoration:none}.action-check{display:flex;align-items:flex-start;gap:7px;min-width:0;border-radius:var(--ks-radius-sm);color:var(--ks-color-muted);font-size:13px;cursor:pointer}.action-check span{min-width:0;overflow-wrap:anywhere}.action-check.is-disabled{cursor:not-allowed;opacity:.58}.label-edit-list{display:grid;gap:12px}.label-toolbar{display:grid;gap:12px;min-width:0;margin-bottom:16px}.label-scope-row,.label-summary,.label-filter-panel{margin-bottom:0}.label-edit-row{display:grid;grid-template-columns:minmax(180px,.3fr) minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:12px}.label-edit-row div{display:grid;gap:5px;min-width:0}.label-edit-row strong,.label-edit-row span{min-width:0;overflow-wrap:anywhere}.label-edit-row span{color:var(--ks-color-muted);font-size:12px;font-weight:700}.label-save-state{margin-top:14px}.ks-user-switch{display:grid;gap:6px;justify-items:stretch;width:220px;max-width:100%}.ks-user-switch span{font-size:12px;font-weight:700;color:var(--ks-color-muted)}.ks-user-switch select{width:100%;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-sm);background:#fff;color:var(--ks-color-text);padding:8px 10px;font:inherit;font-size:13px}.project-page{align-content:start}.project-page .ks-metric-grid{gap:14px}.project-page .ks-metric-card{display:grid;gap:4px;border-radius:var(--ks-radius-md);padding:15px 16px;box-shadow:0 4px 12px #163f320a}.project-page .ks-metric-card span{color:var(--ks-color-muted);font-size:13px}.project-page .ks-metric-card strong{margin-top:0;color:var(--ks-color-brand-dark);font-size:28px;font-variant-numeric:tabular-nums}.project-page .ks-metric-card.is-danger strong{color:var(--ks-color-danger)}.project-page .status-pill{min-height:22px;border:1px solid transparent;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.project-hero-panel,.project-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-hero-panel h2,.project-detail-hero h2{margin:8px 0 0;font-size:28px;line-height:1.25;overflow-wrap:anywhere}.project-hero-panel p{max-width:760px;margin:10px 0 0;color:var(--ks-color-muted);line-height:1.75}.project-list-grid,.project-member-grid,.project-plan-list,.project-activity-list,.project-info-stack{display:grid;gap:14px;min-width:0}.project-list-card{display:grid;gap:14px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);padding:18px;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.project-list-card:hover{border-color:#0f766e75;box-shadow:var(--ks-shadow-card);transform:translateY(-1px)}.project-list-card:active{transform:translateY(0)}.project-card-head,.project-card-bottom,.project-plan-item,.project-activity-item,.project-stage-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.project-card-head>div,.project-title-block,.project-activity-item>div,.project-plan-item>div,.project-member-card>div{min-width:0}.project-card-head span,.project-card-meta span,.project-card-bottom span,.project-title-block span,.project-plan-item span,.project-activity-item span,.project-activity-item em,.project-member-card p,.project-info-block p{overflow-wrap:anywhere}.project-card-head strong{display:block;margin-top:5px;font-size:18px;line-height:1.35}.project-card-head>div>span,.project-card-meta,.project-card-bottom span,.project-plan-item span,.project-activity-item span,.project-activity-item em,.project-member-card span,.project-info-block span,.project-stage-line span{color:var(--ks-color-muted);font-size:13px}.project-card-meta{display:flex;flex-wrap:wrap;gap:10px 18px;min-width:0}.project-card-money,.project-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-money-card{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.project-money-card span{display:block;color:var(--ks-color-muted);font-size:13px;font-weight:700}.project-money-card strong{display:block;margin-top:8px;font-size:20px;line-height:1.2;overflow-wrap:anywhere}.project-progress-line{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:10px;min-width:0}.project-progress-line:after{content:"";position:absolute;left:0;right:44px;top:50%;z-index:0;height:8px;border-radius:999px;background:#e6efec;transform:translateY(-50%)}.project-progress-line i{position:relative;z-index:1;display:block;height:8px;border-radius:999px;background:var(--ks-color-brand)}.project-progress-line strong{position:relative;z-index:1;font-size:13px}.project-status-active{background:#e8f7f3;border-color:#c8ded5;color:var(--ks-color-brand-dark)}.project-status-preparing{background:#fff7e7;border-color:#ead9b6;color:#8d651f}.project-status-paused{background:#fff4e5;border-color:#f2c98f;color:#9a5b12}.project-status-terminated{background:#fff0ef;border-color:#f0c4c0;color:var(--ks-color-danger)}.project-status-closed{background:#eef7fb;border-color:#c6deea;color:#2563eb}.project-status-archived{background:#f1f4f3;border-color:#dfe7e3;color:var(--ks-color-muted)}.project-inline-pill{margin-left:6px;margin-top:6px}.project-empty-detail{margin-top:18px}.project-title-block{flex:1 1 auto}.project-title-block h2{margin-top:10px}.project-meta-line{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--ks-color-muted);line-height:1.6}.project-progress-card{display:grid;gap:8px;min-width:150px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#effaf8;padding:14px;color:var(--ks-color-brand-dark)}.project-progress-card span{color:var(--ks-color-muted);font-size:13px;font-weight:700}.project-progress-card strong{font-size:28px;line-height:1}.project-action-bar{display:flex;flex-wrap:wrap;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:14px;box-shadow:var(--ks-shadow-card)}.project-action-bar .ks-button{text-decoration:none}.project-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px}.project-info-block{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.project-info-block span{display:block;font-weight:700}.project-info-block p{margin:8px 0 0;line-height:1.75}.project-stage-line{margin-top:14px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:14px;background:#fbfdfc}.project-stage-line strong{overflow-wrap:anywhere}.project-member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-member-card{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.project-member-card strong{display:block;margin-top:6px;font-size:17px;line-height:1.35;overflow-wrap:anywhere}.project-member-card p{margin:12px 0 0;color:var(--ks-color-muted);line-height:1.65}.project-gantt-wrap{min-width:0;overflow-x:auto}.project-gantt-table{display:grid;min-width:920px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);overflow:hidden}.project-gantt-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(190px,.85fr) minmax(140px,.6fr) minmax(180px,.8fr) minmax(110px,.45fr);gap:14px;align-items:center;min-width:0;padding:13px 14px;border-bottom:1px solid var(--ks-color-border)}.project-gantt-row:last-child{border-bottom:0}.project-gantt-head{background:#f4faf8;color:var(--ks-color-muted);font-size:13px;font-weight:700}.project-gantt-row strong,.project-gantt-row span{overflow-wrap:anywhere}.project-gantt-row>div>strong{display:block;font-size:15px;line-height:1.4}.project-gantt-row>div>span{display:block;margin-top:4px;color:var(--ks-color-muted);font-size:13px}.project-plan-item,.project-activity-item{border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.project-plan-item strong{display:block;overflow-wrap:anywhere}.project-plan-item>div:first-child{flex:1 1 auto}.project-plan-item>div:nth-child(2){text-align:right}.project-activity-item{justify-content:flex-start}.project-activity-item svg{flex:0 0 auto;color:var(--ks-color-brand);margin-top:2px}.project-activity-item strong,.project-activity-item em{display:block}.project-activity-item em{margin-top:4px;font-style:normal}.project-compact-hero{padding-bottom:18px}.project-toolbar-panel{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:14px;box-shadow:var(--ks-shadow-card)}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.project-segmented{display:flex;gap:8px;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.project-segment{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-text);padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.project-segment:hover{border-color:#0f766e80;background:#f4faf8}.project-segment.is-active{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff;box-shadow:0 8px 18px #0f766e29}.project-filter-chip{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:36px;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-text);padding:0 14px;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.project-filter-chip:hover{border-color:#0f766e6b;background:#f7fbf9}.project-filter-chip.is-active{border-color:#0f766e73;background:#e8f7f3;color:var(--ks-color-brand-dark);box-shadow:inset 0 0 0 1px #0f766e1a}.project-search{display:flex;align-items:center;gap:8px;width:min(360px,100%);min-height:38px;min-width:220px;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;padding:0 12px;color:var(--ks-color-muted)}.project-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ks-color-text);font:inherit;font-size:14px}.project-create-link{flex:0 0 auto;min-height:38px;text-decoration:none}.project-management-grid{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(360px,.66fr);gap:18px;align-items:start;min-width:0}.project-table-panel,.project-board-panel{min-width:0}.project-table-wrap{min-width:0;overflow-x:visible}.project-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:14px}.project-col-name{width:31%}.project-col-status{width:13%}.project-col-manager{width:14%}.project-col-progress{width:15%}.project-col-money{width:19%}.project-col-pending{width:8%}.project-table th,.project-table td{border-bottom:1px solid #edf1ef;padding:11px 10px;text-align:left;vertical-align:top;min-width:0;overflow-wrap:anywhere}.project-table th{background:#fbfcfc;color:var(--ks-color-muted);font-size:12px;font-weight:700;white-space:nowrap}.project-table tbody tr{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.project-table tbody tr:hover,.project-table tbody tr:focus-visible{background:#f7fbf9;outline:0}.project-table tbody tr.is-selected{background:#f7fbf9}.project-table tr:last-child td{border-bottom:0}.project-list-cards{display:grid;gap:12px;min-width:0}.project-list-card{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:14px 16px;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.project-list-card:hover,.project-list-card:focus-visible{border-color:#0f766e61;background:#fbfdfc;box-shadow:0 4px 12px #1a5b4f0f;outline:0}.project-list-card.is-selected{border-color:#0f766e80;background:#f7fbf9;box-shadow:inset 3px 0 0 var(--ks-color-brand)}.project-list-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.project-list-card-tags{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.project-list-card-meta{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(110px,.9fr) minmax(160px,1.35fr) minmax(82px,.55fr);gap:12px;min-width:0}.project-list-info{display:grid;gap:4px;min-width:0;border-right:1px solid #e8efec;padding-right:12px}.project-list-info:last-child{border-right:0;padding-right:0}.project-list-info span{color:var(--ks-color-muted);font-size:12px;font-weight:700}.project-list-info strong{color:var(--ks-color-text);font-size:15px;line-height:1.35;overflow-wrap:anywhere}.project-list-info em{color:var(--ks-color-muted);font-size:12px;font-style:normal;line-height:1.35}.project-title{display:grid;gap:5px;min-width:0}.project-link{color:var(--ks-color-text);font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}.project-link:hover{color:var(--ks-color-brand)}.project-sub{display:block;color:var(--ks-color-muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.project-money-inline{display:block;color:var(--ks-color-text);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.project-progress-cell{display:grid;gap:5px;min-width:0;border-right:1px solid #e8efec;padding-right:12px}.project-progress-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ks-color-muted);font-size:12px;font-weight:700}.project-progress-label strong{color:var(--ks-color-text);font-size:13px}.project-bar{height:6px;overflow:hidden;border-radius:999px;background:#e6efec}.project-bar span{display:block;height:100%;border-radius:inherit;background:var(--ks-color-brand)}.project-board-panel{position:sticky;top:80px;display:grid;gap:0;overflow:hidden}.project-board-head{display:grid;gap:10px;min-width:0;padding:16px}.project-board-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.project-board-title{min-width:0;margin:0;font-size:20px;line-height:1.28;overflow-wrap:anywhere}.project-board-meta{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--ks-color-muted);font-size:13px;line-height:1.6}.project-board-meta span{min-width:0;overflow-wrap:anywhere}.project-entry-strip{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;padding-bottom:1px;scrollbar-width:thin}.project-board-panel .project-entry-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible;padding-bottom:0}.project-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;flex:0 0 auto;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-text);padding:0 13px;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none;white-space:nowrap;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.project-board-panel .project-entry{flex:none;min-width:0;width:100%}.project-entry:hover{border-color:#0f766e80;background:#f4faf8}.project-entry.is-primary{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff}.project-entry svg{flex:0 0 auto}.project-board-section{display:grid;gap:12px;min-width:0;border-top:1px solid var(--ks-color-border);padding:14px 16px}.project-board-section h3{margin:0;color:var(--ks-color-brand-dark);font-size:15px;line-height:1.35}.project-board-kpis,.project-board-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.project-board-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-board-kpis article,.project-board-info{display:grid;gap:6px;min-width:0;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;padding:10px}.project-board-kpis span,.project-board-info span{color:var(--ks-color-muted);font-size:12px;font-weight:700}.project-board-kpis strong,.project-board-info strong{line-height:1.25;overflow-wrap:anywhere}.project-board-kpis strong{font-size:18px}.project-board-info strong{font-size:15px}.project-board-line-list{display:grid;gap:8px;min-width:0}.project-board-line-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:6px;background:#fff;padding:9px 10px}.project-board-line-main,.project-board-line-side{min-width:0;overflow-wrap:anywhere}.project-board-line-main{color:var(--ks-color-text);font-size:13px;font-weight:400;line-height:1.55}.project-board-line-side{color:var(--ks-color-muted);font-size:13px;font-weight:400;line-height:1.55;text-align:right}.status-pill-blue{background:#eef7fb;border-color:#c6deea;color:#2563eb}.status-pill-gold{background:#fff7e7;border-color:#ead9b6;color:#8d651f}.status-pill-risk{background:#fff0ef;border-color:#f0c4c0;color:var(--ks-color-danger)}.project-detail-tabs{padding:12px}.project-back-link{flex:0 0 auto;text-decoration:none}.project-detail-hero-card{display:grid;gap:14px;padding:20px}.project-detail-hero-main,.project-heading{display:grid;gap:12px;min-width:0}.project-heading{gap:8px}.project-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.project-title{min-width:0;margin:0;font-size:24px;line-height:1.25;overflow-wrap:anywhere}.detail-entry-grid{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;min-width:0;padding-bottom:1px}.detail-entry-grid.compact{margin-top:12px}.detail-entry{display:inline-flex;flex:1 1 96px;align-items:center;justify-content:center;gap:6px;min-width:88px;min-height:40px;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-text);padding:0 10px;font-size:14px;font-weight:700;line-height:1.25;text-decoration:none;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.detail-entry:hover{border-color:var(--ks-color-brand);background:#f7fbf9;color:var(--ks-color-brand-dark);box-shadow:0 8px 18px #1b7f6d24;transform:translateY(-1px)}.detail-entry.is-primary{border-color:var(--ks-color-brand);background:var(--ks-color-brand);color:#fff;box-shadow:0 8px 18px #1b7f6d24}.detail-entry.is-primary:hover{border-color:var(--ks-color-brand-dark);background:var(--ks-color-brand-dark);color:#fff}.detail-entry:active{transform:translateY(0)}.detail-entry-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;overflow-wrap:anywhere}.detail-entry-label svg{flex:0 0 auto}.detail-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;min-width:0}.detail-kpi{display:grid;gap:5px;min-width:0;border:1px solid var(--ks-color-border);border-radius:7px;background:#fbfdfc;padding:10px}.detail-kpi span{color:var(--ks-color-muted);font-size:12px}.detail-kpi strong{font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.project-section-nav{position:sticky;top:10px;z-index:4;display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fffffff5;box-shadow:var(--ks-shadow-card);padding:10px;scrollbar-width:thin}.project-section-link{display:inline-flex;align-items:center;flex:0 0 auto;min-height:32px;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-muted);padding:0 12px;font-size:14px;font-weight:700;text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.project-section-link:hover{border-color:var(--ks-color-brand);background:#f7fbf9;color:var(--ks-color-brand-dark)}.project-section-link.is-active{border-color:#0f766e59;background:#e8f7f3;color:var(--ks-color-brand-dark)}.detail-panel{overflow:hidden;padding:0;scroll-margin-top:112px}.detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;min-width:0;border-bottom:1px solid var(--ks-color-border);background:#fbfcfc;padding:0 16px}.detail-panel-head h2{display:inline-flex;align-items:center;gap:8px;min-width:0;margin:0;color:var(--ks-color-brand-dark);font-size:16px;line-height:1.35;overflow-wrap:anywhere}.detail-panel-head h2:before{content:"";flex:0 0 auto;width:3px;height:15px;border-radius:2px;background:var(--ks-color-brand)}.detail-panel-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.detail-panel-action{min-height:36px;text-decoration:none}.detail-panel-body{min-width:0;padding:16px}.detail-summary-grid,.detail-role-grid,.detail-asset-grid{display:grid;gap:10px;min-width:0}.detail-summary-grid,.detail-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-summary-card,.detail-role-card,.detail-asset-card,.detail-finance-card{display:grid;gap:8px;min-width:0;border:1px solid #edf1ef;border-radius:7px;background:#fff;padding:12px}.detail-summary-card strong,.detail-role-name,.detail-asset-card strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.detail-summary-card p,.detail-role-card p,.detail-asset-card p{margin:0;color:var(--ks-color-muted);font-size:14px;font-weight:400;line-height:1.65;overflow-wrap:anywhere}.detail-asset-action{width:fit-content;min-height:34px;padding-inline:12px}.detail-tag-row,.detail-role-head,.detail-asset-card>div{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;min-width:0}.project-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:16px;align-items:start}.project-detail-main-stack,.project-detail-side-stack,.detail-line-list,.detail-payment-list,.detail-timeline{display:grid;gap:10px;min-width:0}.project-detail-main-stack,.project-detail-side-stack{gap:16px}.detail-line-list.with-margin{margin-top:12px}.detail-line-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid #edf1ef;border-radius:7px;background:#fff;padding:10px}.detail-line-content{display:grid;gap:3px;min-width:0}.detail-line-content strong,.detail-line-content em{overflow-wrap:anywhere}.detail-line-content em{color:var(--ks-color-muted);font-size:12px;font-style:normal}.detail-coord-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;min-width:0}.detail-gantt-scroll{min-width:0;overflow-x:auto;scrollbar-width:thin}.detail-gantt{display:grid;min-width:960px;overflow:hidden;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff}.detail-gantt-header,.detail-gantt-row{display:grid;grid-template-columns:164px repeat(8,minmax(88px,1fr));align-items:stretch}.detail-gantt-header{background:#fbfcfc;color:var(--ks-color-muted);font-size:12px;font-weight:700}.detail-gantt-month,.detail-gantt-date{display:flex;align-items:center;min-height:38px;border-right:1px solid var(--ks-color-border);padding:10px}.detail-gantt-month{position:sticky;left:0;z-index:6;background:#fbfcfc;box-shadow:1px 0 0 var(--ks-color-border)}.detail-gantt-date{justify-content:center;text-align:center}.detail-gantt-row{position:relative;min-height:58px;border-top:1px solid #edf1ef;background:linear-gradient(to right,transparent 163px,var(--ks-color-border) 164px,transparent 165px),repeating-linear-gradient(to right,transparent 0,transparent 87px,rgba(220,229,225,.75) 88px)}.detail-gantt-stage-row{min-height:48px;background:linear-gradient(to right,transparent 163px,var(--ks-color-border) 164px,transparent 165px),repeating-linear-gradient(to right,#f8faf9fa 0 87px,#dce5e1bf 88px)}.detail-gantt-row.is-current{box-shadow:inset 3px 0 #b7791f}.detail-gantt-label{position:sticky;left:0;z-index:5;display:grid;align-content:center;gap:3px;min-width:0;border-right:1px solid var(--ks-color-border);background:#fff;box-shadow:1px 0 0 var(--ks-color-border);padding:10px 12px}.detail-gantt-stage-row .detail-gantt-label,.detail-gantt-row.is-current .detail-gantt-label{background:#f7fbf9}.detail-gantt-name{font-weight:700;overflow-wrap:anywhere}.detail-gantt-task-link{min-width:0;color:var(--ks-color-brand-dark);font-weight:700;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;transition:color .14s ease}.detail-gantt-task-link:hover{color:var(--ks-color-brand);text-decoration:underline;text-underline-offset:3px}.detail-gantt-owner{color:var(--ks-color-muted);font-size:12px;overflow-wrap:anywhere}.detail-gantt-relation{width:fit-content;max-width:100%;min-height:20px;border:1px solid var(--ks-color-border);border-radius:4px;background:#fff;color:var(--ks-color-muted);padding:1px 7px;font-size:12px;font-weight:700;overflow-wrap:anywhere}.detail-gantt-relation.parallel{background:#eef7fb;border-color:#c6deea;color:#2563eb}.detail-gantt-relation.serial{background:#e8f7f3;border-color:#c8ded5;color:var(--ks-color-brand-dark)}.detail-gantt-relation.blocked{background:#fff0ef;border-color:#f0c4c0;color:var(--ks-color-danger)}.detail-gantt-bar{position:relative;display:flex;align-items:center;align-self:center;justify-self:start;min-width:0;height:28px;overflow:hidden;border-radius:6px;color:#fff;padding:0 10px;font-size:12px;font-weight:700;box-shadow:0 4px 10px #163f321f}.detail-gantt-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--done);background:#ffffff38}.detail-gantt-bar span{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-gantt-bar.green{background:var(--ks-color-brand)}.detail-gantt-bar.gold{background:#b7791f}.detail-gantt-bar.blue{background:#2563eb}.detail-gantt-bar.red{background:var(--ks-color-danger)}.detail-gantt-today{grid-column:5;width:2px;background:var(--ks-color-danger);opacity:.82;align-self:stretch;justify-self:center}.detail-internal-fund{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:center}.detail-budget-entry{display:grid;grid-column:1 / -1;grid-template-columns:minmax(220px,360px) auto;gap:12px;align-items:end;min-width:0;border:1px solid #dce9e5;border-radius:var(--ks-radius-md);padding:14px;background:#f8fcfa}.detail-budget-entry .save-state{grid-column:1 / -1}.detail-budget-submit{min-height:42px;white-space:nowrap}.detail-fund-donut-wrap{display:grid;place-items:center;gap:10px;min-width:0}.detail-fund-donut{display:grid;place-items:center;width:176px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at center,#fff 0 54%,transparent 55%),conic-gradient(var(--ks-color-brand) 0 var(--fund-used),#e8efec var(--fund-used) 100%);box-shadow:inset 0 0 0 1px var(--ks-color-border)}.detail-fund-donut-center{display:grid;gap:2px;text-align:center}.detail-fund-donut-center span{color:var(--ks-color-brand-dark);font-size:22px;font-weight:700}.detail-fund-donut-center em{color:var(--ks-color-muted);font-size:12px;font-style:normal}.detail-fund-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;color:var(--ks-color-muted);font-size:12px}.detail-legend-dot{display:inline-flex;width:8px;height:8px;border-radius:50%;margin-right:4px}.detail-legend-dot.green{background:var(--ks-color-brand)}.detail-legend-dot.gold{background:#b7791f}.detail-legend-dot.gray{background:#d7e3df}.detail-fund-bars{display:grid;gap:10px;min-width:0}.detail-finance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-width:0}.detail-finance-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-finance-card span{color:var(--ks-color-muted);font-size:12px}.detail-finance-card strong{font-size:18px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.detail-finance-grid.compact .detail-finance-card strong{font-size:15px;line-height:1.35;overflow-wrap:normal;word-break:keep-all}.detail-fund-bar-row{display:grid;grid-template-columns:92px minmax(0,1fr) 108px;gap:10px;align-items:center;min-width:0}.detail-fund-bar-row span,.detail-fund-bar-row strong{overflow-wrap:anywhere}.detail-fund-bar-row strong{color:var(--ks-color-muted);font-weight:500;text-align:right}.detail-fund-track{height:12px;overflow:hidden;border-radius:999px;background:#edf1ef}.detail-fund-fill{display:block;height:100%;border-radius:inherit}.detail-fund-fill.green{background:var(--ks-color-brand)}.detail-fund-fill.gold{background:#b7791f}.detail-fund-fill.gray{background:#d7e3df}.detail-payment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto) auto;gap:12px;align-items:center;min-width:0;border:1px solid #edf1ef;border-radius:7px;background:#fff;padding:11px 12px}.detail-payment-main{display:grid;gap:4px;min-width:0}.detail-payment-title{font-weight:700;overflow-wrap:anywhere}.detail-payment-meta{color:var(--ks-color-muted);font-size:12px;overflow-wrap:anywhere}.detail-payment-amount{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.detail-asset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-timeline-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;min-width:0}.detail-timeline-marker{width:10px;height:10px;border-radius:50%;margin-top:9px;background:var(--ks-color-brand);box-shadow:0 0 0 4px #e8f7f3}.detail-timeline-marker.status-pill-blue{background:#2563eb;box-shadow:0 0 0 4px #eef7fb}.detail-timeline-marker.status-pill-gold{background:#b7791f;box-shadow:0 0 0 4px #fff7e7}.detail-timeline-marker.status-pill-risk{background:var(--ks-color-danger);box-shadow:0 0 0 4px #fff0ef}.detail-timeline-card{display:grid;gap:7px;min-width:0;border:1px solid #edf1ef;border-radius:7px;background:#fff;padding:10px}.detail-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.detail-timeline-head strong,.detail-timeline-card p{overflow-wrap:anywhere}.detail-timeline-head strong{font-size:14px;line-height:1.4}.detail-timeline-head span,.detail-timeline-card p{color:var(--ks-color-muted);font-size:13px}.detail-timeline-head span{white-space:nowrap}.detail-timeline-card p{margin:0}.ks-table-wrap{min-width:0;overflow-x:auto}.ks-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.ks-table th,.ks-table td{border-bottom:1px solid var(--ks-color-border);padding:13px 12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.ks-table th{color:var(--ks-color-muted);font-size:13px;font-weight:700}.ks-table tr:last-child td{border-bottom:0}.status-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;background:#eef5f3;color:var(--ks-color-brand-dark);font-size:13px;font-weight:700;white-space:nowrap}.status-pill-disabled{background:#f4f4f5;color:#71717a}.status-pill-pending{background:#fff7ed;color:#9a3412}.project-page .status-pill.project-status-active{background:#e8f7f3;border-color:#c8ded5;color:var(--ks-color-brand-dark)}.project-page .status-pill.project-status-preparing{background:#fff7e7;border-color:#ead9b6;color:#8d651f}.project-page .status-pill.project-status-paused{background:#fff4e5;border-color:#f2c98f;color:#9a5b12}.project-page .status-pill.project-status-terminated{background:#fff0ef;border-color:#f0c4c0;color:var(--ks-color-danger)}.project-page .status-pill.project-status-closed{background:#eef7fb;border-color:#c6deea;color:#2563eb}.project-page .status-pill.project-status-archived{background:#f1f4f3;border-color:#dfe7e3;color:var(--ks-color-muted)}.project-page .status-pill.status-pill-blue{background:#eef7fb;border-color:#c6deea;color:#2563eb}.project-page .status-pill.status-pill-gold{background:#fff7e7;border-color:#ead9b6;color:#8d651f}.project-page .status-pill.status-pill-risk{background:#fff0ef;border-color:#f0c4c0;color:var(--ks-color-danger)}.role-card-grid,.permission-point-grid{display:grid;gap:12px}.role-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-point-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role-card,.permission-point-card,.label-row,.audit-item{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.role-card,.label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.role-card strong,.permission-point-card strong,.label-row strong,.audit-item strong{display:block;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.role-card span,.permission-point-card span,.label-row span,.audit-item span{display:block;margin-top:6px;color:var(--ks-color-muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.role-card em,.permission-point-card em,.label-row em{color:var(--ks-color-brand-dark);font-size:12px;font-style:normal;font-weight:700}.permission-point-card{display:grid;gap:4px}.label-list,.audit-list{display:grid;gap:12px}.task-workspace-panel{align-content:start}.task-home-page{gap:16px}.task-home-hero{grid-template-columns:minmax(0,1fr)}.task-home-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;min-width:0;padding-bottom:1px}.task-home-actions .detail-entry{flex:0 1 auto;min-width:132px}.task-home-actions .detail-entry.is-primary{flex-basis:auto;min-width:164px}.task-home-toolbar.project-section-nav{position:static;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr) minmax(0,.85fr);justify-content:stretch;align-items:start;gap:12px}.task-home-actions .ks-button{text-decoration:none}.task-home-stats{margin:0}.task-assign-page{gap:16px}.task-assign-hero{grid-template-columns:minmax(0,1fr)}.task-stat-card{gap:8px 10px;grid-template-columns:auto minmax(0,1fr)}.task-stat-card span:not(.task-stat-icon){color:var(--ks-color-muted);font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.task-stat-card strong{grid-column:2;color:var(--ks-color-brand-dark);font-size:20px;line-height:1.15}.task-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--ks-radius-md);background:#edf8f5;color:var(--ks-color-brand)}.task-stat-success .task-stat-icon{background:#eef7fb;color:#2563eb}.task-stat-warning .task-stat-icon{background:#fff7e7;color:#b7791f}.task-filter-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.task-filter-group{display:grid;gap:8px;min-width:0}.task-filter-group>span{color:var(--ks-color-muted);font-size:12px;font-weight:800;line-height:1.2}.task-filter-chip{cursor:pointer}.task-workspace{display:grid;grid-template-columns:minmax(300px,.38fr) minmax(0,1fr);gap:16px;min-width:0}.task-workspace-list{display:grid;align-content:start;gap:10px;min-width:0}.task-workspace-item{display:grid;gap:6px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);padding:12px;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.task-workspace-item:hover{border-color:#0f766e73;background:#f2fbf8}.task-workspace-item.is-active{border-color:#0f766e94;background:#f7fcfb;box-shadow:inset 3px 0 0 var(--ks-color-brand);color:var(--ks-color-brand-dark)}.task-workspace-item strong,.task-workspace-item span{min-width:0;overflow-wrap:anywhere}.task-workspace-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.task-workspace-item strong{line-height:1.35}.task-workspace-item span{color:var(--ks-color-muted);font-size:13px;line-height:1.45}.task-collaboration-list{display:grid;gap:12px;min-width:0}.task-collaboration-card{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-left:4px solid transparent;border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-text);padding:14px 16px;text-decoration:none;box-shadow:var(--ks-shadow-soft);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.task-collaboration-card:hover{border-color:#0f766e6b;border-left-color:var(--ks-color-brand);background:#f8fcfb;box-shadow:0 14px 26px #143d311a;transform:translateY(-1px)}.task-collaboration-card.is-overdue{border-left-color:var(--ks-color-danger);background:#fffdfc}.task-collaboration-card.is-muted{background:#fbfcfc;border-left-color:#d9e3df;box-shadow:none}.task-collaboration-card strong,.task-collaboration-card p,.task-collaboration-card span{min-width:0;overflow-wrap:anywhere}.task-collaboration-card .task-workspace-item-head strong{color:var(--ks-color-text);font-size:15px;line-height:1.35}.task-card-statuses{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.task-collaboration-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--ks-color-muted);font-size:13px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-card-tags,.task-card-foot{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.task-card-tags span{display:inline-flex;align-items:center;min-height:22px;border-radius:4px;background:#edf8f5;color:var(--ks-color-brand-dark);font-size:12px;font-weight:800;line-height:1.2;padding:3px 8px}.task-card-foot{color:var(--ks-color-muted);font-size:12px;font-weight:700;line-height:1.45}.task-card-foot span:not(:last-child):after{content:"·";margin-left:7px;color:#b6c4be}.task-completed-collapse{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfcfc}.task-completed-collapse summary{display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 14px;color:var(--ks-color-muted);font-size:13px;font-weight:800;list-style:none}.task-completed-collapse summary::-webkit-details-marker{display:none}.task-completed-collapse summary:before{content:"展开";flex:0 0 auto;border-radius:4px;background:#eef7fb;color:var(--ks-color-brand-dark);padding:3px 8px;font-size:12px}.task-completed-collapse[open] summary:before{content:"收起"}.task-completed-collapse summary strong{color:var(--ks-color-brand-dark);font-size:13px}.closure-review-box{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.closure-review-head{display:flex;align-items:flex-start;min-width:0}.closure-review-head strong{min-width:0;overflow-wrap:anywhere}.closure-review-head strong{color:var(--ks-color-text);font-size:15px;line-height:1.35}.closure-review-switch{display:flex;gap:10px;width:100%;min-width:0;flex-wrap:wrap}.closure-review-choice{flex:1 1 180px;justify-content:center;min-width:0;overflow-wrap:anywhere}.closure-review-form{border-top:1px solid var(--ks-color-border);padding-top:12px}.task-collaboration-list.is-collapsed-list{border-top:1px solid var(--ks-color-border);padding:12px}.task-status-dot{display:inline-flex;flex:0 0 auto;align-items:center;min-height:22px;border-radius:4px;background:#f1f4f3;color:var(--ks-color-muted);font-size:12px;font-weight:700;line-height:1.2;padding:2px 7px}.task-status-dot.is-active{background:#e8f7f3;color:var(--ks-color-brand-dark)}.task-status-dot.is-success{background:#eef7fb;color:#2563eb}.task-status-dot.is-warning{background:#fff7e7;color:#8d651f}.task-workspace-detail{display:grid;align-content:start;gap:12px;min-width:0}.task-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.task-detail-head h2{margin:5px 0 0;font-size:22px;line-height:1.28;overflow-wrap:anywhere}.task-detail-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.task-detail-head-actions .ks-button{min-height:32px;text-decoration:none}.task-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.task-detail-block{display:grid;gap:10px;min-width:0;border:1px solid #edf1ef;border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.task-detail-block strong,.task-detail-block p{min-width:0;overflow-wrap:anywhere}.task-detail-block strong{line-height:1.35}.task-detail-block p{margin:0;color:var(--ks-color-muted);line-height:1.7}.task-signal-grid{display:grid;grid-template-columns:1fr;gap:8px;min-width:0}.task-signal-card{display:grid;grid-template-columns:auto minmax(90px,.22fr) minmax(0,1fr);align-items:center;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:10px 12px}.task-signal-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--ks-radius-md);background:#edf8f5;color:var(--ks-color-brand)}.task-signal-card div,.task-signal-card span,.task-signal-card strong{min-width:0;overflow-wrap:anywhere}.task-signal-card div{display:contents}.task-signal-card div>span{color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.35}.task-signal-card strong{color:var(--ks-color-text);font-size:14px;line-height:1.45;font-weight:700}.task-signal-warning{border-color:#ead9b6;background:#fffdf8}.task-signal-warning .task-signal-icon{background:#fff7e7;color:#b7791f}.task-action-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;min-width:0}.task-action-summary{display:grid;gap:6px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:12px}.task-action-summary strong,.task-action-summary span{min-width:0;overflow-wrap:anywhere}.task-action-summary strong{color:var(--ks-color-brand-dark);font-size:14px;line-height:1.35}.task-action-summary span{color:var(--ks-color-muted);font-size:13px;line-height:1.55}.task-action-primary{border-color:#0f766e59;background:#f2fbf8}.task-action-danger{border-color:#c73e2d52;background:#fff8f7}.task-action-flow{display:grid;gap:12px;min-width:0}.task-current-action-list{display:grid;gap:10px;min-width:0}.task-current-action-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:13px 14px}.task-current-action-card-highlight{border-color:#0f766e6b;background:#f7fcfb;box-shadow:inset 3px 0 0 var(--ks-color-brand)}.task-current-action-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--ks-radius-md);background:#edf8f5;color:var(--ks-color-brand-dark)}.task-current-action-content{display:grid;gap:5px;min-width:0}.task-current-action-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.task-current-action-content strong,.task-current-action-content p,.task-current-action-content span{min-width:0;overflow-wrap:anywhere}.task-current-action-content strong{color:var(--ks-color-text);font-size:15px;line-height:1.35}.task-current-action-content p{margin:0;color:var(--ks-color-text);font-size:14px;line-height:1.55}.task-current-action-content>span{color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.4}.task-current-action-tag{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;background:#eef5f3;color:var(--ks-color-brand-dark);font-size:12px;font-weight:800;line-height:1.2;padding:2px 8px}.task-current-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.task-current-action-buttons .ks-button{min-width:104px;text-decoration:none}.task-action-form{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.task-action-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.task-action-form-head strong,.task-action-form-head span{min-width:0;overflow-wrap:anywhere}.task-action-form-head strong{color:var(--ks-color-brand-dark);font-size:15px;line-height:1.35}.task-action-form-head span{color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.45}.task-progress-form{margin-bottom:0}.task-progress-review-card{display:grid;gap:10px;min-width:0;border:1px solid #edf1ef;border-radius:var(--ks-radius-md);background:#fff;padding:12px}.task-progress-review-card p{min-width:0;margin:0;color:var(--ks-color-text);line-height:1.65;overflow-wrap:anywhere}.task-action-buttons{justify-content:flex-end}.task-action-buttons .ks-button{min-width:112px}.collaboration-participant-list{display:grid;gap:10px;min-width:0}.collaboration-participant-card,.collaboration-review-card{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:12px}.collaboration-participant-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.collaboration-participant-card div,.collaboration-review-head{display:grid;gap:4px;min-width:0}.collaboration-participant-card strong,.collaboration-participant-card span,.collaboration-review-head strong,.collaboration-review-head span,.collaboration-message-target{min-width:0;overflow-wrap:anywhere}.collaboration-participant-card strong,.collaboration-review-head strong{color:var(--ks-color-text);font-size:14px;line-height:1.35}.collaboration-participant-card div>span,.collaboration-review-head span,.collaboration-message-target{color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.45}.collaboration-review-card{background:#fbfdfc}.task-action-return{color:var(--ks-color-danger)}.task-action-return:hover{border-color:#c73e2d61;background:#fff0ef;color:var(--ks-color-danger)}.task-progress-empty{margin-top:10px;text-align:left}.task-progress-records{display:grid;gap:10px;min-width:0;margin-top:12px}.task-progress-record{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:12px}.task-progress-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.task-progress-record-head div{display:grid;gap:4px;min-width:0}.task-progress-record-head strong,.task-progress-record-head span,.task-progress-record p,.task-progress-comment{min-width:0;overflow-wrap:anywhere}.task-progress-record-head strong{color:var(--ks-color-text);font-size:14px;line-height:1.35}.task-progress-record-head div>span{color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.45}.task-progress-record p{margin:0;color:var(--ks-color-text);line-height:1.65}.task-progress-comment{border-radius:var(--ks-radius-md);background:#fff8ed;color:#8d651f;font-size:13px;font-weight:700;line-height:1.55;padding:9px 10px}.task-progress-status{display:inline-flex;flex:0 0 auto;align-items:center;min-height:24px;border-radius:4px;background:#f1f4f3;color:var(--ks-color-muted);font-size:12px;font-weight:800;line-height:1.2;padding:3px 8px}.task-progress-status.is-pending{background:#fff7e7;color:#8d651f}.task-progress-status.is-confirmed{background:#eef7fb;color:#2563eb}.task-progress-status.is-returned,.task-progress-status.is-overdue{background:#fff0ef;color:var(--ks-color-danger)}.task-progress-status.is-muted{background:#f1f4f3;color:var(--ks-color-muted)}.task-feedback-section{display:grid;gap:12px;min-width:0}.task-feedback-threads,.task-feedback-message-list{display:grid;gap:10px;min-width:0;margin-top:12px}.task-feedback-section>.task-feedback-threads:first-child{margin-top:0}.task-feedback-thread,.task-feedback-message,.task-feedback-requirement{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:12px}.task-feedback-thread.is-active{border-color:#0f766e57;background:#f7fcfb;box-shadow:inset 3px 0 0 var(--ks-color-brand)}.task-feedback-thread.is-history{background:#fbfdfc;opacity:.88}.task-feedback-history{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:0 12px}.task-feedback-history summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--ks-color-brand-dark);cursor:pointer;font-size:14px;font-weight:800}.task-feedback-history summary strong{color:var(--ks-color-muted);font-size:13px}.task-feedback-history-list{margin:0 0 12px}.task-feedback-thread-head,.task-feedback-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.task-feedback-thread-head div{display:grid;gap:4px;min-width:0}.task-feedback-thread strong,.task-feedback-thread span,.task-feedback-thread p,.task-feedback-message strong,.task-feedback-message span,.task-feedback-message p,.task-feedback-requirement strong,.task-feedback-requirement p,.task-feedback-result-card strong,.task-feedback-result-card span,.task-feedback-result-card p,.task-feedback-meta span{min-width:0;overflow-wrap:anywhere}.task-feedback-thread-head strong,.task-feedback-message-head strong,.task-feedback-requirement strong,.task-feedback-result-card strong{color:var(--ks-color-text);font-size:14px;line-height:1.45}.task-feedback-thread-head div>span,.task-feedback-message-head span,.task-feedback-meta span{color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.45}.task-feedback-thread p,.task-feedback-message p,.task-feedback-requirement p,.task-feedback-result-card p{margin:0;color:var(--ks-color-text);line-height:1.65}.task-feedback-thread-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.task-feedback-thread-actions .ks-button{min-width:108px;text-decoration:none}.task-feedback-requirement{border-color:#0f766e4d;background:#f7fcfb}.task-feedback-result-body{display:grid;gap:12px;min-width:0}.task-feedback-result-card{display:grid;gap:8px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:12px}.task-feedback-context-label{color:var(--ks-color-brand-dark);font-size:13px;font-weight:800;line-height:1.4}.task-feedback-meta{display:flex;flex-wrap:wrap;gap:8px 14px;min-width:0}.task-feedback-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.task-feedback-confirm-actions .ks-button{width:100%}.task-assignment-panel{align-content:start}.task-assignment-form{margin-bottom:0}.task-assignment-wide{grid-column:1 / -1}.task-assignment-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.task-member-check{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:9px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:11px 12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.task-member-check:hover{border-color:#0f766e73;background:#f2fbf8}.task-member-check.is-selected{border-color:#0f766e9e;background:#f2fbf8;box-shadow:inset 3px 0 0 var(--ks-color-brand)}.task-member-check input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--ks-color-brand)}.task-member-check span{display:grid;gap:3px;min-width:0}.task-member-check strong,.task-member-check em{min-width:0;overflow-wrap:anywhere}.task-member-check strong{color:var(--ks-color-text);font-size:14px;line-height:1.4}.task-member-check em{color:var(--ks-color-muted);font-size:13px;font-style:normal;line-height:1.45}.task-upload-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.task-upload-box .ks-button{text-decoration:none}.attachment-panel{display:grid;gap:10px;min-width:0}.initiation-attachment-block{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:14px}.initiation-attachment-block>strong{color:var(--ks-color-text);font-size:14px;line-height:1.45}.attachment-upload-button{width:fit-content;text-decoration:none}.attachment-list{display:grid;gap:8px;min-width:0}.attachment-empty{text-align:left}.attachment-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:start;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:10px 10px 10px 12px}.attachment-info{display:grid;gap:3px;min-width:0}.attachment-info strong{min-width:0;color:var(--ks-color-text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.attachment-info span{color:var(--ks-color-muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.attachment-message{line-height:1.45;overflow-wrap:anywhere}.attachment-preview-panel{display:grid;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-lg);background:#fff;padding:12px}.attachment-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.attachment-preview-head strong{min-width:0;color:var(--ks-color-text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.attachment-preview-frame{width:100%;min-height:360px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff}.attachment-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.attachment-action-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;color:var(--ks-color-brand-dark);font-size:13px;font-weight:700;padding:0 10px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.attachment-action-button:hover{border-color:#0f766e73;background:#f2fbf8}.attachment-action-button:disabled{cursor:not-allowed;opacity:.55}.attachment-action-danger{color:var(--ks-color-danger)}.attachment-action-danger:hover{border-color:#c73e2d61;background:#fff0ef}.task-assignment-empty{text-align:left}.task-assignment-feedback{margin-top:12px}.task-assignment-actions{margin-top:14px;justify-content:flex-end;border-top:1px solid var(--ks-color-border);padding-top:14px}.task-assignment-actions .ks-button{min-width:96px;text-decoration:none}.initiation-page{min-width:0}.initiation-hero{align-items:center}.initiation-list-panel{display:grid;gap:16px}.initiation-list{display:grid;gap:12px;min-width:0}.initiation-card{display:grid;gap:14px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-lg);padding:16px;background:#fff;color:inherit;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.initiation-card:hover{border-color:#0f766e6b;box-shadow:0 16px 38px #0f172a14;transform:translateY(-1px)}.initiation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.initiation-title{display:grid;gap:6px;min-width:0}.initiation-title strong{min-width:0;color:var(--ks-color-text);font-size:17px;line-height:1.35;overflow-wrap:anywhere}.initiation-title span{min-width:0;color:var(--ks-color-muted);font-size:13px;overflow-wrap:anywhere}.initiation-card-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;min-width:0}.initiation-form-panel{display:grid;gap:18px}.initiation-wide{grid-column:span 3}.initiation-form-section-head{margin-top:4px}.initiation-repeat-list{display:grid;gap:10px;min-width:0}.initiation-repeat-row{position:relative;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) auto;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:14px;background:#fbfdfc}.initiation-repeat-row.member-row{grid-template-columns:minmax(260px,1fr) auto}.initiation-repeat-row.payment-row{grid-template-columns:minmax(150px,.78fr) 132px minmax(320px,1.7fr) auto;align-items:end}.initiation-repeat-row.payment-row .form-field{min-width:0}.initiation-repeat-row.payment-row .form-field:nth-child(2) select{min-width:0}.initiation-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;min-width:0}.initiation-repeat-condition{min-width:0}.initiation-remove-button{align-self:end;white-space:nowrap}.initiation-row-index{position:absolute;top:10px;right:12px;color:var(--ks-color-muted);font-size:12px;font-weight:800}.initiation-feedback{margin-top:0}.initiation-actions{justify-content:flex-end;margin-top:4px}.initiation-action-panel{border-color:#0f766e3d}.initiation-approval-box{display:grid;gap:14px;min-width:0}.initiation-action-switch{width:max-content;max-width:100%}.initiation-inline-action{justify-self:start}.initiation-danger-button{border-color:#dc26265c;background:#fff;color:#b91c1c}.initiation-danger-button:hover{border-color:#dc26268f;background:#fff5f5}.initiation-resubmit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.initiation-plan-table{display:grid;gap:10px;min-width:0}.initiation-plan-row{display:grid;grid-template-columns:92px minmax(140px,1fr) minmax(120px,.8fr) 80px minmax(180px,1.4fr);align-items:center;gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc}.initiation-plan-row strong,.initiation-plan-row em,.initiation-plan-row p,.initiation-plan-row span{min-width:0;overflow-wrap:anywhere}.initiation-plan-row em{color:var(--ks-color-text);font-style:normal;font-weight:800}.initiation-plan-row p{margin:0;color:var(--ks-color-muted);font-size:13px}.initiation-flow-list{display:grid;gap:10px;min-width:0}.initiation-flow-item{display:grid;gap:8px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc}.initiation-flow-item div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.initiation-flow-item strong,.initiation-flow-item span,.initiation-flow-item p{min-width:0;overflow-wrap:anywhere}.initiation-flow-item span,.initiation-flow-item p{color:var(--ks-color-muted);font-size:13px}.initiation-flow-item p{margin:0}.initiation-status-draft{background:#eef2f7;color:#475569}.initiation-status-pending_approval{background:#fff7ed;color:#b45309}.initiation-status-approved{background:#ecfdf5;color:#047857}.initiation-status-rejected{background:#fef2f2;color:#b91c1c}.initiation-status-voided{background:#f1f5f9;color:#64748b}.fund-page,.ledger-page{min-width:0}.fund-hero,.ledger-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:16px}.fund-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0}.fund-hero-actions .detail-entry,.fund-hero-actions .ks-button{flex:0 1 auto;min-width:128px;text-decoration:none}.fund-page .project-meta-line span,.ledger-page .project-meta-line span{min-width:0;overflow-wrap:anywhere}.fund-page .status-pill,.ledger-page .status-pill{flex:0 0 auto;max-width:100%;white-space:nowrap}.fund-list-panel,.ledger-list-panel{display:grid;gap:14px;min-width:0}.fund-card-list,.ledger-card-list,.fund-form-stack{display:grid;gap:12px;min-width:0}.fund-card,.ledger-card{display:grid;gap:14px;min-width:0;overflow:hidden;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-lg);padding:16px;background:#fff;color:inherit;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.fund-card:hover,.ledger-card:hover{border-color:#0f766e6b;box-shadow:0 16px 38px #0f172a14;transform:translateY(-1px)}.fund-card:focus-visible,.ledger-card:focus-visible{outline:3px solid rgba(15,118,110,.18);outline-offset:2px}.fund-card-head,.ledger-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.fund-title,.ledger-title{display:grid;gap:6px;min-width:0}.fund-title strong,.ledger-title strong{min-width:0;color:var(--ks-color-text);font-size:17px;line-height:1.35;overflow-wrap:anywhere}.fund-title span,.ledger-title span{min-width:0;color:var(--ks-color-muted);font-size:13px;overflow-wrap:anywhere}.fund-card-grid,.ledger-card-grid,.fund-read-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;min-width:0}.fund-project-group-list{gap:14px}.fund-project-card{border-left:4px solid rgba(15,118,110,.72)}.fund-project-summary{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.fund-project-summary span{min-width:0;border:1px solid #dce9e5;border-radius:999px;padding:5px 10px;background:#f4fbf8;color:var(--ks-color-muted);font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.fund-record-toggle-row{display:flex;justify-content:flex-start;min-width:0}.fund-record-toggle{min-height:36px;padding-inline:12px}.fund-record-list{display:grid;gap:8px;min-width:0;border-top:1px solid var(--ks-color-border);padding-top:12px}.fund-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;border:1px solid #dce9e5;border-radius:var(--ks-radius-md);padding:12px;background:#f8fcfa;color:inherit;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.fund-record-row:hover{border-color:#0f766e61;background:#f2faf7;box-shadow:0 10px 24px #0f172a0f}.fund-record-row:focus-visible{outline:3px solid rgba(15,118,110,.18);outline-offset:2px}.fund-record-main{display:grid;gap:4px;min-width:0}.fund-record-main strong{min-width:0;color:var(--ks-color-text);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.fund-record-main span{min-width:0;color:var(--ks-color-muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.fund-record-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;color:var(--ks-color-text);font-size:13px;font-weight:800;overflow-wrap:anywhere}.fund-record-folded{min-width:0;border-top:1px dashed #d6e5e0;padding-top:10px;color:var(--ks-color-muted);font-size:12px;line-height:1.45}.fund-info-cell{display:grid;gap:5px;min-width:0;border:1px solid #e8efec;border-radius:7px;background:#fbfdfc;padding:10px 12px}.fund-info-cell span{min-width:0;color:var(--ks-color-muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}.fund-info-cell strong{min-width:0;color:var(--ks-color-text);font-size:15px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.company-contracts-page,.company-contracts-page .knowledge-hero,.company-contracts-page .ks-panel,.company-contracts-page .detail-two-column,.company-contracts-page .form-grid,.company-contracts-page .form-field{min-width:0}.contract-create-panel{display:grid;gap:0;overflow:hidden;padding:0}.contract-create-panel>.detail-panel-head{border-bottom:1px solid var(--ks-color-border);background:#fbfdfc;padding:14px 16px}.contract-create-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:start;gap:18px;min-width:0;padding:16px}.contract-form-main,.contract-form-stack,.contract-form-side{display:grid;align-content:start;gap:16px;min-width:0}.contract-form-side{position:sticky;top:88px}.contract-form-section{display:grid;gap:12px;min-width:0;border-top:1px solid var(--ks-color-border);padding-top:16px}.contract-form-section:first-child{border-top:0;padding-top:0}.contract-form-section h3,.contract-side-card h3{margin:0;color:var(--ks-color-text);font-size:14px;font-weight:800;line-height:1.35}.contract-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-form-grid--foundation{grid-template-columns:minmax(150px,.9fr) minmax(150px,.9fr) minmax(180px,1.1fr)}.contract-form-grid--foundation .contract-wide-field,.contract-form-grid--counterparty .contract-wide-field{grid-column:1 / -1}.contract-form-grid--counterparty{grid-template-columns:minmax(180px,.65fr) minmax(220px,1fr)}.contract-side-card{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:linear-gradient(180deg,#fbfdfc,#fff);padding:14px}.contract-wide-field{grid-column:span 2;min-width:0}.contract-create-panel>.form-actions{border-top:1px solid var(--ks-color-border);background:#fbfdfc;padding:14px 16px}.contract-maintenance-panel{border-color:#0e74662e;box-shadow:0 10px 28px #163f320f}.contract-maintenance-panel>.detail-panel-head{background:linear-gradient(180deg,#fbfdfc,#f6fbf9);padding:16px 18px}.contract-basic-body{display:grid;gap:14px;min-width:0}.contract-basic-summary-card{grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto}.contract-basic-body .contract-maintenance-layout{overflow:hidden;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md)}.contract-basic-actions{justify-content:flex-end;border-top:1px solid var(--ks-color-border);background:#fbfdfc;margin:0 -16px -16px;padding:14px 16px}.contract-maintenance-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:0;padding:0}.contract-maintenance-panel .contract-form-main{padding:18px}.contract-maintenance-panel .contract-form-side{align-self:stretch;border-left:1px solid var(--ks-color-border);background:#fbfdfc;padding:18px}.contract-maintenance-panel .contract-form-section{border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:14px}.contract-maintenance-panel .contract-form-section:first-child{border-top:1px solid var(--ks-color-border);padding-top:14px}.contract-maintenance-panel .contract-form-section h3{color:#163f32;font-size:14px}.contract-maintenance-panel .contract-side-card{background:#fff}.contract-maintenance-panel .form-field>span{font-size:13px;font-weight:800}.contract-maintenance-panel>.form-actions{justify-content:flex-end;background:#fff}.contract-list{display:grid;gap:12px;min-width:0}.contract-list-card{display:grid;gap:14px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:16px;color:inherit;text-decoration:none;box-shadow:0 6px 18px #163f320d;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.contract-list-card:hover{border-color:#0f766e61;background:#fbfefd;box-shadow:0 12px 28px #163f3214;transform:translateY(-1px)}.contract-list-card:active{transform:translateY(0)}.contract-list-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;min-width:0}.contract-list-card-head>div{display:grid;gap:5px;min-width:0}.contract-list-card-head strong,.contract-list-card-head span{min-width:0;overflow-wrap:anywhere}.contract-list-card-head strong{color:var(--ks-color-text);font-size:16px;line-height:1.35}.contract-list-card-head span:not(.status-pill){color:var(--ks-color-muted);font-size:13px;line-height:1.45}.contract-list-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}.contract-core-file-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;min-width:0}.contract-core-file-option{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-sm);background:#fff;padding:9px 10px;color:var(--ks-color-text);font-size:13px;line-height:1.35;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.contract-core-file-option:hover,.contract-core-file-option.is-selected{border-color:#0f766e61;background:#f2fbf8}.contract-core-file-option.is-selected{box-shadow:inset 3px 0 0 var(--ks-color-brand)}.contract-core-file-option span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.contract-core-file-option strong{color:var(--ks-color-text);font-size:13px;line-height:1.35}.contract-core-file-option em{color:var(--ks-color-muted);font-size:12px;font-style:normal;line-height:1.35}.contract-progress-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}.contract-maintain-card{display:grid;align-content:start;gap:0;min-width:0;border-color:#dfeae6;background:#fff}.contract-maintain-body{display:grid;gap:12px;min-width:0}.contract-record-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,auto) auto;align-items:center;gap:14px;min-width:0;border:1px solid #dfeae6;border-radius:8px;background:#fff;padding:13px 14px;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.contract-record-card:hover{border-color:#0f766e61;background:#f8fcfa;box-shadow:0 10px 22px #0f172a0f}.contract-record-card:active{transform:translateY(1px)}.contract-record-card.is-open{border-color:#0f766e73;background:#f2fbf8;box-shadow:inset 3px 0 0 var(--ks-color-brand)}.contract-record-main{display:grid;gap:4px;min-width:0}.contract-record-main strong{min-width:0;color:var(--ks-color-text);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.contract-record-main em{min-width:0;color:var(--ks-color-muted);font-size:12px;font-style:normal;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.contract-record-value{display:grid;gap:3px;min-width:0;text-align:right}.contract-record-value strong{min-width:0;color:var(--ks-color-text);font-size:16px;line-height:1.25;overflow-wrap:anywhere}.contract-record-value span{color:var(--ks-color-muted);font-size:12px;font-weight:800}.contract-record-detail{display:grid;gap:10px;min-width:0}.contract-record-history{display:grid;gap:8px;min-width:0}.contract-history-entry{display:grid;gap:10px;min-width:0;border:1px solid #e8efec;border-radius:8px;background:#fff;padding:12px 14px}.contract-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.contract-history-head>div{display:grid;gap:4px;min-width:0}.contract-history-head strong,.contract-history-head span{min-width:0;overflow-wrap:anywhere}.contract-history-head strong{color:var(--ks-color-text);font-size:14px;line-height:1.35}.contract-history-head>div>span{color:var(--ks-color-muted);font-size:12px;font-weight:700}.contract-progress-meter{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#e7efec}.contract-progress-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ks-color-brand) 0%,#35a695 100%)}.contract-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.contract-readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}.contract-summary-note{display:grid;gap:10px;min-width:0}.contract-summary-item{display:grid;gap:5px;min-width:0;border:1px solid #edf1ef;border-radius:7px;background:#fbfdfc;padding:10px 11px}.contract-summary-item span{color:var(--ks-color-muted);font-size:12px;font-weight:800}.contract-summary-item strong{min-width:0;color:var(--ks-color-text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.contract-inline-form{display:grid;gap:12px;min-width:0;border:1px solid #dfeae6;border-radius:8px;background:#fbfdfc;padding:14px}.contract-inline-form .form-actions{justify-content:flex-end}.contract-core-file-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;min-width:0}.contract-core-file-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;border:1px solid #e4eeea;border-radius:8px;background:#fff;padding:11px 12px}.contract-core-file-card svg{color:var(--ks-color-brand)}.contract-core-file-card>div{display:grid;gap:4px;min-width:0}.contract-core-file-card strong,.contract-core-file-card span{min-width:0;overflow-wrap:anywhere}.contract-core-file-card strong{color:var(--ks-color-text);font-size:14px;line-height:1.35}.contract-core-file-card div span{color:var(--ks-color-muted);font-size:12px}.contract-attachment-section{display:grid;gap:10px;min-width:0}.contract-attachment-section .attachment-list{gap:8px}.contract-attachment-section .attachment-item{border-color:#e4eeea;border-radius:8px;background:#fff}.contract-workflow-timeline{display:grid;gap:0;min-width:0}.contract-workflow-latest{width:100%;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) auto;align-items:center;gap:14px;min-width:0;border:1px solid #dfeae6;border-radius:8px;background:#fff;padding:13px 14px;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.contract-workflow-latest:hover{border-color:#0f766e61;background:#f8fcfa;box-shadow:0 10px 22px #0f172a0f}.contract-workflow-latest:active{transform:translateY(1px)}.contract-workflow-latest-note{min-width:0;color:var(--ks-color-muted);font-size:13px;font-weight:700;line-height:1.45}.contract-workflow-latest-note span{display:-webkit-box;min-width:0;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.contract-workflow-timeline .detail-timeline-head,.contract-workflow-timeline .detail-timeline-card p{min-width:0;overflow-wrap:anywhere}.contract-workflow-timeline .detail-timeline-card{border-color:#e4eeea;border-radius:8px;background:#fff}.contract-workflow-timeline.is-open{gap:10px}.contract-workflow-event{align-items:start}.contract-status-panel{display:grid;gap:0}.contract-status-body{display:grid;gap:14px;min-width:0}.contract-status-current{display:flex;align-items:center;min-width:0}.contract-status-action-grid{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.contract-status-action-grid .ks-button{flex:0 1 auto}.contract-danger-button{border-color:#b91c1c57;background:#fff;color:#b42318}.contract-danger-button:hover{border-color:#b91c1c8f;background:#fff5f5;color:#991b1b}.contract-status-confirm-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;border:1px solid #dce9e5;border-radius:var(--ks-radius-md);background:#fbfdfc;padding:12px}.contract-status-confirm-box.is-danger{border-color:#fde0d8;background:#fff8f6}.contract-status-confirm-box>div:first-child{display:grid;gap:4px;min-width:0}.contract-status-confirm-box strong,.contract-status-confirm-box span{min-width:0;overflow-wrap:anywhere}.contract-status-confirm-box strong{color:var(--ks-color-text);font-size:14px;line-height:1.35}.contract-status-confirm-box.is-danger strong{color:#991b1b}.contract-status-confirm-box span{color:var(--ks-color-muted);font-size:13px;line-height:1.5}.contract-empty-box{padding:12px}.purchase-reimbursements-page{min-width:0}.purchase-action-panel{display:grid;gap:14px;min-width:0}.purchase-action-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:14px;min-width:0}.purchase-action-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.purchase-project-action{display:grid;gap:10px;min-width:0}.purchase-action-card{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;border:1px solid rgba(15,118,110,.22);border-radius:8px;padding:10px 14px;background:#fff;color:var(--ks-color-primary);font-size:14px;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.purchase-action-card:hover{border-color:#0f766e73;background:#f0fdfa;box-shadow:0 12px 28px #0f172a14;transform:translateY(-1px)}.purchase-action-card:disabled{cursor:not-allowed;opacity:.52;transform:none;box-shadow:none}.purchase-action-card svg{flex:0 0 auto}.purchase-action-card span{min-width:0;overflow-wrap:anywhere}.purchase-filter-toolbar{align-items:flex-start;flex-direction:column;justify-content:space-between}.purchase-filter-toolbar .project-segmented{width:100%;max-width:100%;overflow-x:auto}.purchase-record-card .fund-title span{line-height:1.45}.fund-read-grid.single{grid-template-columns:1fr}.fund-action-panel{border-color:#0f766e3d}.fund-action-panel .detail-panel-body{display:grid;gap:14px}.report-page{min-width:0}.report-hero{align-items:flex-start}.report-card-list,.report-submission-list{display:grid;gap:14px;min-width:0}.report-form-panel,.report-submit-panel,.report-requirement-panel,.report-history-panel,.report-overdue-panel{min-width:0}.report-form-wide{grid-column:1 / -1}.report-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.report-type-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.check-card.is-selected{border-color:#0f766e9e;background:#f2fbf8;box-shadow:inset 3px 0 0 var(--ks-color-brand)}.report-overdue-list{display:grid;gap:10px;min-width:0}.report-overdue-item{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(3,minmax(130px,1fr));gap:10px;min-width:0;border:1px solid rgba(190,62,51,.2);border-left:4px solid var(--ks-color-danger);border-radius:var(--ks-radius-md);background:#fffdfc;padding:12px 14px}.report-overdue-item>div{display:grid;align-content:start;gap:4px;min-width:0}.report-overdue-item span,.report-overdue-item strong{min-width:0;overflow-wrap:anywhere}.report-overdue-item span{color:var(--ks-color-muted);font-size:12px;line-height:1.45}.report-overdue-item strong{color:var(--ks-color-text);font-size:14px;line-height:1.45}.report-submission-card{display:grid;gap:14px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:16px;background:#fff}.report-submission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}.report-submission-head>div{display:grid;gap:5px;min-width:0}.report-submission-head strong,.report-submission-head span{min-width:0;overflow-wrap:anywhere}.report-submission-head strong{color:var(--ks-color-text);font-size:15px}.report-submission-head span{color:var(--ks-color-muted);font-size:13px}.report-submission-content{display:grid;gap:12px;min-width:0}.report-read-block{display:grid;gap:8px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);padding:12px;background:#fbfdfc}.report-read-block strong{color:var(--ks-color-brand-dark);font-size:13px}.report-read-block p{margin:0;color:var(--ks-color-text);font-size:14px;line-height:1.65;overflow-wrap:anywhere}.fund-action-switch{width:fit-content;max-width:100%;flex-wrap:nowrap}.fund-action-switch .project-filter-chip{flex:0 0 auto}.fund-action-form{display:grid;gap:10px;min-width:0}.fund-inline-action{justify-self:start;min-width:132px;margin-top:2px}.fund-form-actions{align-items:flex-start;border-top:1px solid var(--ks-color-border);padding-top:14px}.fund-attachment-field{min-width:0}.fund-attachment-field>.attachment-panel{width:100%}.fund-summary-text{margin-top:12px}.fund-summary-text p{margin:0;color:var(--ks-color-muted);font-size:14px;line-height:1.75;overflow-wrap:anywhere}.fund-card-description{margin:0;color:var(--ks-color-muted);font-size:14px;line-height:1.65;overflow-wrap:anywhere}.reimbursement-total-cell{align-self:stretch}.reimbursement-item-editor,.reimbursement-item-list,.reimbursement-read-list{display:grid;gap:12px;min-width:0}.reimbursement-item-head{margin:0}.reimbursement-item-head h3{margin:0;color:var(--ks-color-text);font-size:16px;line-height:1.35}.reimbursement-item-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,.9fr) minmax(220px,1.45fr) minmax(120px,.7fr) auto;gap:10px;align-items:end;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:12px}.reimbursement-item-desc{min-width:0}.reimbursement-remove-button{min-height:38px;align-self:end;justify-content:center;white-space:nowrap}.reimbursement-read-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(130px,.7fr) minmax(140px,.7fr);gap:10px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fbfdfc;padding:12px}.reimbursement-read-row div{display:grid;gap:5px;min-width:0}.reimbursement-read-row span{color:var(--ks-color-muted);font-size:12px;font-weight:700}.reimbursement-read-row strong{color:var(--ks-color-text);font-size:15px;line-height:1.35;overflow-wrap:anywhere}.fund-status-pending_approval,.purchase-status-pending_approval,.reimbursement-status-pending_approval,.closure-status-pending_approval{background:#fff7ed;color:#b45309}.fund-status-rejected,.purchase-status-rejected,.reimbursement-status-rejected,.closure-status-rejected{background:#fef2f2;color:#b91c1c}.closure-status-draft,.purchase-status-draft{background:#f1f5f9;color:#475569}.closure-status-approved{background:#ecfeff;color:#0e7490}.fund-status-waiting_payment_materials,.purchase-status-materials_required,.purchase-status-waiting_materials,.reimbursement-status-materials_required{background:#f7f0ff;color:#6d28d9}.fund-status-pending_execution,.purchase-status-pending_execution,.reimbursement-status-pending_execution{background:#eff6ff;color:#1d4ed8}.purchase-status-executed,.purchase-status-pending_confirmation{background:#ecfeff;color:#0e7490}.reimbursement-status-executed,.fund-status-completed,.purchase-status-completed,.closure-status-archived{background:#ecfdf5;color:#047857}.fund-status-voided,.purchase-status-voided,.reimbursement-status-voided,.closure-status-voided{background:#f1f5f9;color:#64748b}.audit-item{display:grid;gap:4px}@media(max-width:1100px){.ks-app-shell{grid-template-columns:220px minmax(0,1fr)}.ks-metric-grid,.permission-point-grid,.project-member-grid,.task-assignment-members{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dashboard-grid,.project-management-grid,.project-detail-layout,.task-workspace,.detail-internal-fund{grid-template-columns:1fr}.initiation-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fund-card-grid,.ledger-card-grid,.fund-read-grid,.reimbursement-item-row{grid-template-columns:repeat(2,minmax(0,1fr))}.reimbursement-item-desc{grid-column:span 2}.reimbursement-remove-button{justify-self:start}.fund-hero{grid-template-columns:1fr}.fund-hero-actions{justify-content:flex-start}.fund-action-panel .form-grid.three-columns,.initiation-form-panel .form-grid.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.initiation-wide{grid-column:span 2}.initiation-repeat-row.payment-row{grid-template-columns:minmax(0,.9fr) 120px minmax(0,1.3fr) auto}.initiation-repeat-condition{grid-column:auto}.initiation-plan-row{grid-template-columns:88px minmax(140px,1fr) minmax(120px,.8fr)}.initiation-plan-row p{grid-column:1 / -1}.project-board-panel{position:static}.task-home-toolbar.project-section-nav{grid-template-columns:1fr}.project-card-money,.project-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-config-layout,.system-config-workspace,.contacts-workspace,.knowledge-workspace,.contacts-detail-grid{grid-template-columns:1fr}.knowledge-filter-grid,.contract-list-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.contacts-request-item{grid-template-columns:1fr}.contacts-request-item .form-actions{justify-content:flex-start}.checkbox-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.label-edit-row{grid-template-columns:minmax(160px,.35fr) minmax(0,1fr) auto}}@media(max-width:900px){.ks-app-shell{grid-template-columns:1fr}.ks-sidebar{position:sticky;top:0;z-index:10;width:100%;max-width:100vw;overflow-x:hidden;padding:14px 18px}.ks-brand{padding-bottom:10px}.ks-nav{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding-bottom:2px}.ks-nav-link{flex:0 0 auto}.initiation-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fund-card-grid,.ledger-card-grid,.fund-read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-action-layout,.reimbursement-read-row,.attachment-item{grid-template-columns:1fr}.attachment-actions{justify-content:flex-start}.attachment-preview-head{align-items:flex-start;flex-direction:column}.business-option-create-row,.business-option-row{grid-template-columns:1fr}.business-option-create-actions,.business-option-actions{justify-content:flex-start}.initiation-plan-row{grid-template-columns:1fr}}@media(max-width:780px){.ks-topbar,.ks-hero-panel,.project-hero-panel,.project-detail-hero,.knowledge-hero,.system-config-hero{align-items:stretch;flex-direction:column}.company-contracts-page .knowledge-hero{grid-template-columns:1fr}.ks-topbar,.ks-content{padding-left:18px;padding-right:18px}.ks-user-card{justify-items:start}.knowledge-hero,.ks-metric-grid,.role-card-grid,.permission-point-grid,.project-board-kpis,.project-board-info-grid,.detail-kpi-grid,.detail-summary-grid,.detail-role-grid,.detail-asset-grid,.detail-finance-grid,.detail-finance-grid.compact,.task-assignment-members,.project-card-money,.project-money-grid,.project-member-grid{grid-template-columns:1fr}.project-toolbar{align-items:stretch;flex-direction:column}.project-search{width:100%;min-width:0}.project-create-link{justify-content:center;width:100%}.project-board-title-row,.project-board-line-item,.detail-panel-head,.detail-line-item,.detail-payment-row,.detail-timeline-head,.task-feedback-thread-head,.task-feedback-message-head{align-items:flex-start;flex-direction:column}.detail-payment-row{display:flex}.detail-payment-amount{text-align:left}.detail-coord-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-fund-bar-row{grid-template-columns:1fr}.detail-fund-bar-row strong,.project-board-line-side{text-align:left}.system-config-actions{justify-content:flex-start}.form-grid.two-columns,.form-grid.three-columns,.knowledge-filter-grid,.checkbox-grid.compact,.label-edit-row,.task-feedback-confirm-actions,.initiation-card-grid{grid-template-columns:1fr}.fund-card-head,.ledger-card-head{display:grid}.fund-card-grid,.ledger-card-grid,.fund-read-grid,.purchase-action-group,.reimbursement-item-row{grid-template-columns:1fr}.reimbursement-item-desc{grid-column:auto}.fund-action-panel .form-grid.three-columns{grid-template-columns:1fr}.fund-inline-action,.fund-form-actions .ks-button,.fund-hero-actions .detail-entry,.fund-hero-actions .ks-button{width:100%}.initiation-wide,.initiation-repeat-condition{grid-column:auto}.initiation-repeat-row,.initiation-repeat-row.payment-row{grid-template-columns:1fr}.contacts-contact-row .contacts-contact-note-field{grid-column:auto}.initiation-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.initiation-remove-button{justify-self:start}.task-current-action-card{grid-template-columns:1fr}.task-current-action-buttons{justify-content:flex-start}.report-overdue-item{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:781px)and (max-width:900px){.ks-app-shell{grid-template-columns:220px minmax(0,1fr)}.ks-sidebar{position:static;width:auto;max-width:none;overflow-x:visible;padding:24px 18px}.ks-brand{padding:10px 8px 18px}.ks-nav{display:grid;gap:6px;overflow-x:visible;padding-bottom:0}.ks-nav-link{flex:initial}}.todo-page{grid-template-columns:1fr;gap:20px}.todo-hero{min-height:0;padding:24px}.todo-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(132px,1fr));gap:12px;min-width:0}.todo-metric-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-width:0;gap:10px 12px;min-height:76px;padding:14px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;box-shadow:var(--ks-shadow-card)}.todo-metric-card strong{grid-column:2;grid-row:1;color:var(--ks-color-text);font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}.todo-metric-card span{grid-column:2;grid-row:2;min-width:0;color:var(--ks-color-muted);font-size:13px;line-height:1.3;white-space:nowrap}.todo-metric-card.is-danger strong,.todo-metric-card.is-danger .todo-metric-icon{color:#b42318}.todo-metric-icon{display:inline-grid;grid-column:1;grid-row:1 / span 2;width:34px;height:34px;place-items:center;border-radius:8px;color:var(--ks-color-brand);background:#0f766e1a}.todo-filter-panel{display:grid;gap:10px;padding:12px}.todo-filter-row{display:inline-flex;min-width:0;gap:6px;border:1px solid var(--ks-color-border);border-radius:8px;background:#f8faf9;padding:4px;overflow-x:auto}.todo-type-row{display:flex;min-width:0;gap:8px;overflow-x:auto;padding:2px 0}.todo-scope-chip,.todo-type-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;flex:0 0 auto;gap:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ks-color-muted);padding:0 12px;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.todo-scope-chip{min-width:104px}.todo-type-chip{min-width:74px;border-color:var(--ks-color-border);background:#fff}.todo-scope-chip span,.todo-type-chip span{min-width:22px;border-radius:999px;background:#0f766e1a;color:var(--ks-color-brand-dark);padding:2px 7px;font-size:12px;line-height:1.2;font-variant-numeric:tabular-nums}.todo-scope-chip:hover,.todo-type-chip:hover{border-color:#0f766e4d;background:#fff;color:var(--ks-color-text)}.todo-scope-chip.is-active,.todo-type-chip.is-active{border-color:#0f766e6b;background:#fff;color:var(--ks-color-brand-dark);box-shadow:0 6px 16px #163f3214}.todo-scope-chip.is-active span,.todo-type-chip.is-active span{background:var(--ks-color-brand);color:#fff}.todo-list-panel{display:grid;gap:14px}.todo-list-panel .detail-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.todo-list-panel .detail-panel-heading h3{margin:0}.todo-list{display:grid;gap:12px}.todo-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,auto);gap:18px;align-items:center;min-width:0;padding:16px;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;box-shadow:0 4px 14px #163f320a}.todo-card.is-overdue{border-color:#b4231847;background:linear-gradient(180deg,#fff6f4e6,#fff)}.todo-card-main{display:grid;min-width:0;gap:8px}.todo-card-heading,.todo-card-meta{display:flex;flex-wrap:wrap;min-width:0;gap:8px;align-items:center}.todo-card h3{margin:0;color:var(--ks-color-text);font-size:16px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.todo-card p,.todo-card-meta{margin:0;color:var(--ks-color-muted);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.todo-action-link{align-self:center;justify-self:end;min-height:36px;padding:0 13px;font-size:13px;white-space:nowrap}.todo-empty{padding:24px;border:1px dashed var(--ks-color-border);border-radius:var(--ks-radius-lg);color:var(--ks-color-muted);text-align:center}.status-pill.todo-type-finance,.status-pill.todo-type-collaboration{color:#155eef;background:#eff4ff}.status-pill.todo-type-approval,.status-pill.todo-type-task{color:#0f766e;background:#ecfdf3}.status-pill.todo-type-material,.status-pill.todo-type-report{color:#93370d;background:#fffaeb}.status-pill.todo-type-feedback,.status-pill.todo-type-authorization{color:#7a2e0e;background:#fff4ed}.status-pill.todo-type-config{color:#5925dc;background:#f4f3ff}.assets-inventory-page{min-width:0}.assets-hero{align-items:center}.assets-hero-actions{flex-wrap:wrap;justify-content:flex-end}.assets-metric-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.assets-side-stack .assets-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assets-filter-panel{display:grid;gap:12px;padding:12px}.assets-search-row{min-width:0}.assets-search-box{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;border:1px solid var(--ks-color-border);border-radius:8px;background:#fff;padding:0 12px;color:var(--ks-color-muted)}.assets-search-box input{flex:1;width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ks-color-text);font-size:14px;line-height:1.4}.assets-search-box input::placeholder{color:var(--ks-color-muted)}.assets-filter-row{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.assets-filter-label{color:var(--ks-color-muted);font-size:13px;font-weight:800;line-height:1.35;white-space:nowrap}.assets-filter-row .project-segmented{min-width:0}.assets-filter-row--category{align-items:center;grid-template-columns:56px minmax(240px,360px) auto}.assets-filter-row--category .assets-filter-label{align-self:center}.assets-category-control{display:flex;align-items:end;width:100%;min-width:0}.assets-category-control select{width:100%;min-height:38px;min-width:0;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-text);padding:0 10px;font-size:14px;font-weight:700}.assets-clear-filter{min-height:38px;align-self:end}.assets-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;min-width:0}.assets-main-grid--single{grid-template-columns:minmax(0,1fr)}.assets-list-stack,.assets-side-stack{display:grid;align-content:start;gap:16px;min-width:0}.assets-section-head{grid-template-columns:minmax(0,1fr) auto}.assets-section-head>div{display:grid;gap:3px;min-width:0}.assets-section-head span{color:var(--ks-color-muted);font-size:13px;font-weight:700}.assets-more-link{align-self:center;min-height:34px;border:1px solid var(--ks-color-border);border-radius:7px;background:#fff;color:var(--ks-color-primary);padding:7px 11px;font-size:13px;font-weight:800;line-height:1.35;text-decoration:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.assets-more-link:hover,.assets-more-link:focus-visible{border-color:#0e746647;background:#f1faf7;box-shadow:0 0 0 3px #0e746614;outline:none}.assets-back-all{justify-self:start}.assets-form-panel,.assets-form-panel .form-grid,.assets-wide-field{min-width:0}.assets-entry-panel{display:grid;gap:0;overflow:hidden;padding:0}.assets-form-head{border-bottom:1px solid var(--ks-color-border);background:#fbfdfc;padding:14px 16px}.assets-entry-form{display:grid;gap:0;min-width:0}.assets-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:start;gap:18px;min-width:0;padding:16px}.assets-entry-layout--single{grid-template-columns:minmax(0,1fr)}.assets-entry-main,.assets-entry-side{display:grid;align-content:start;gap:16px;min-width:0}.assets-entry-side{position:sticky;top:88px}.assets-entry-section{display:grid;gap:12px;min-width:0;border-top:1px solid var(--ks-color-border);padding-top:16px}.assets-entry-section:first-child{border-top:0;padding-top:0}.assets-entry-section h3,.assets-side-card h3{margin:0;color:var(--ks-color-text);font-size:14px;font-weight:800;line-height:1.35}.assets-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assets-wide-field{grid-column:1 / -1}.assets-side-card{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:linear-gradient(180deg,#fbfdfc,#fff);padding:14px}.assets-entry-form>.form-actions{border-top:1px solid var(--ks-color-border);background:#fbfdfc;padding:14px 16px}.assets-card-list{display:grid;gap:12px}.assets-request-card{display:grid;gap:12px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:15px}.assets-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;min-width:0}.assets-compact-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:start;min-width:0}.assets-card-head strong,.assets-compact-row strong{display:block;color:var(--ks-color-text);font-size:15px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.assets-card-head span,.assets-compact-row span,.assets-purpose,.assets-reject-note{color:var(--ks-color-muted);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.assets-row-content{display:grid;gap:7px;min-width:0}.assets-row-link{color:inherit;text-decoration:none;border-radius:8px;margin:-6px;padding:6px;transition:background .15s ease,box-shadow .15s ease}.assets-row-link:hover,.assets-row-link:focus-visible{background:#f1faf7;box-shadow:0 0 0 1px #0e746629;outline:none}.assets-row-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0}.assets-row-title .status-pill{justify-self:end}.assets-row-meta{display:flex;flex-wrap:wrap;gap:5px 10px;min-width:0}.assets-row-meta span{min-width:0}.assets-row-owner{color:var(--ks-color-primary);font-weight:800}.assets-status-stock-ok{color:#067647;background:#ecfdf3}.assets-status-low{color:#b54708;background:#fffaeb}.assets-status-empty{color:#b42318;background:#fef3f2}.assets-detail-hero{grid-template-columns:minmax(0,1fr) auto}.assets-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;min-width:0}.assets-detail-card,.assets-detail-card--wide{min-width:0}.assets-detail-card--wide{grid-column:1 / -1}.assets-detail-info-grid{margin-top:14px}.assets-image-gallery{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.assets-history-list{display:grid;gap:12px;min-width:0}.assets-history-list+.assets-history-list{margin-top:12px}.assets-history-item{display:grid;gap:8px;min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-md);background:#fff;padding:12px}.assets-history-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;min-width:0}.assets-history-head strong{color:var(--ks-color-text);font-size:14px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.assets-history-item p{margin:0;color:var(--ks-color-muted);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.assets-thumb{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;min-width:58px;overflow:hidden;border:1px solid var(--ks-color-border);border-radius:8px;background:#fff;color:var(--ks-color-muted);padding:0;font-size:12px;font-weight:800;cursor:pointer}.assets-thumb img{width:100%;height:100%;object-fit:cover}.assets-thumb-empty{background:#f7fbfa;cursor:default}.assets-image-preview{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:32px}.assets-image-preview-backdrop{position:absolute;inset:0;border:0;background:#0f231f7a;cursor:pointer}.assets-image-preview-card{position:relative;z-index:1;display:grid;gap:12px;width:min(720px,100%);max-height:calc(100vh - 64px);border:1px solid rgba(255,255,255,.42);border-radius:12px;background:#fff;padding:14px;box-shadow:0 28px 70px #0f231f47}.assets-image-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.assets-image-preview-head strong{min-width:0;overflow-wrap:anywhere}.assets-image-preview-card img{max-width:100%;max-height:calc(100vh - 150px);border-radius:8px;object-fit:contain}.assets-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}.assets-action-box{display:grid;gap:10px;min-width:0;border-top:1px solid var(--ks-color-border);padding-top:12px}.assets-compact-list,.assets-movement-list{display:grid;gap:10px}.assets-compact-row,.assets-movement-item{min-width:0;border:1px solid var(--ks-color-border);border-radius:var(--ks-radius-sm);background:#fbfdfc;padding:11px}.assets-movement-item{display:grid;gap:4px}.assets-movement-item strong{color:var(--ks-color-text);font-size:14px;line-height:1.35}.assets-movement-item span,.assets-movement-item em{color:var(--ks-color-muted);font-size:13px;font-style:normal;line-height:1.5;overflow-wrap:anywhere}.status-pill.assets-status-in_stock,.status-pill.assets-status-confirmed,.status-pill.assets-status-issued,.status-pill.assets-status-accepted{color:#0f766e;background:#ecfdf3}.status-pill.assets-status-in_use,.status-pill.assets-status-approved,.status-pill.assets-status-pending_confirmation{color:#155eef;background:#eff4ff}.status-pill.assets-status-pending_approval,.status-pill.assets-status-repairing,.status-pill.assets-status-pending{color:#93370d;background:#fffaeb}.status-pill.assets-status-rejected,.status-pill.assets-status-scrapped,.status-pill.assets-status-lost,.status-pill.assets-status-disabled,.status-pill.assets-status-cancelled{color:#b42318;background:#fff4ed}@media(max-width:780px){.todo-card{grid-template-columns:1fr}.todo-action-link{justify-self:start}}@media(max-width:1180px){.contract-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.contract-list-card-head,.contract-progress-payment-grid,.contract-summary-grid,.contract-readonly-grid,.contract-core-file-list,.contract-record-card,.contract-workflow-latest,.contract-status-confirm-box,.contract-core-file-card{grid-template-columns:1fr}.contract-record-value,.contract-workflow-latest-note{text-align:left}.contract-history-head{display:grid}.contract-history-head .status-pill{justify-self:start}.contract-status-confirm-box .form-actions{justify-content:flex-start}.contract-record-card>svg,.contract-workflow-latest>svg{justify-self:start}.contract-core-file-card .status-pill{justify-self:start}.contract-form-grid{grid-template-columns:1fr}.contract-wide-field{grid-column:auto}.contract-list-card-head .status-pill{justify-self:start}.contract-list-metrics{grid-template-columns:1fr}}@media(max-width:1280px){.assets-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1024px){.assets-main-grid,.assets-detail-grid,.assets-entry-layout{grid-template-columns:1fr}.assets-entry-side{position:static}.assets-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.assets-entry-grid,.assets-metric-grid,.assets-info-grid{grid-template-columns:1fr}.assets-filter-row,.assets-filter-row--category{align-items:stretch;grid-template-columns:1fr}.assets-clear-filter{justify-self:start}.assets-card-head,.assets-compact-row,.assets-detail-hero,.assets-history-head{grid-template-columns:1fr}.assets-thumb{width:72px;height:72px}.assets-row-title{grid-template-columns:1fr}.assets-row-title .status-pill{justify-self:start}.assets-section-head,.assets-side-stack .assets-metric-grid{grid-template-columns:1fr}.assets-more-link{justify-self:start}}@media(max-width:1100px){.contract-create-layout{grid-template-columns:1fr}.contract-form-side{position:static}.contract-maintenance-panel .contract-form-side{border-left:0;border-top:1px solid var(--ks-color-border)}.workbench-layout{grid-template-columns:1fr}}@media(max-width:900px){.workbench-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
