/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.columns-3{columns:3}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-10{padding:calc(var(--spacing) * 10)}.p-11{padding:calc(var(--spacing) * 11)}.p-12{padding:calc(var(--spacing) * 12)}.p-13{padding:calc(var(--spacing) * 13)}.p-14{padding:calc(var(--spacing) * 14)}.p-15{padding:calc(var(--spacing) * 15)}.italic{font-style:italic}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#f5f7fb;--foreground:#172033}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--foreground);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.raas-shell{background:#f5f7fb;min-height:100vh}.raas-sidebar{z-index:20;background:#fff;border-right:1px solid #e6eaf0;flex-direction:column;width:240px;padding:24px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.raas-brand{align-items:center;gap:12px;padding:0 8px 26px;display:flex}.raas-brand-mark{color:#fff;background:linear-gradient(145deg,#3370ff,#1557d6);border-radius:14px;place-items:center;width:46px;height:46px;font-size:24px;font-weight:800;display:grid;box-shadow:0 12px 25px #2f6de138}.raas-brand .brand-copy,.raas-profile .profile-copy{flex-direction:column;line-height:1.22;display:flex}.raas-brand strong{font-size:24px}.raas-brand small,.raas-profile small{color:#8a94a6;margin-top:4px;font-size:13px}.raas-nav{flex-direction:column;gap:5px;display:flex}.raas-nav .nav-label{color:#9aa3b4;margin:0 12px 8px;font-size:12px;font-weight:700}.raas-nav a{color:#566176;border-radius:10px;outline:none;align-items:center;gap:12px;height:44px;padding:0 14px;font-size:14px;font-weight:650;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:flex;position:relative}.raas-nav a:hover{color:#246bdb;background:#f4f7fc}.raas-nav a:active{transform:translateY(1px)}.raas-nav a:focus-visible{box-shadow:0 0 0 3px #2f6de12e}.raas-nav a.active{color:#2563d8;background:#edf3ff}.raas-nav a.active:before{content:"";background:#3370ff;border-radius:0 6px 6px 0;width:4px;height:28px;position:absolute;left:-16px}.raas-profile{border-top:1px solid #edf0f4;align-items:center;gap:11px;margin-top:auto;padding:18px 8px 0;display:flex}.raas-profile>span{color:#7547d8;background:#efe9ff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.raas-profile strong{font-size:14px}.raas-main{min-height:100vh;margin-left:240px;padding:32px}.dashboard-page,.route-page{max-width:1600px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.raas-breadcrumb{color:#7a8496;margin:0 0 10px;font-size:13px;font-weight:650}.page-header h1{letter-spacing:-.02em;color:#151e2e;margin:0;font-size:32px;line-height:1.18}.page-subtitle,.page-header p:last-child{color:#727d91;margin:10px 0 0;font-size:15px}.updated-line{color:#7d8798;align-items:center;gap:8px;margin-top:16px;font-size:14px;display:flex}.live-dot{background:#25aa72;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #25aa721f}.header-actions{align-items:center;gap:10px;display:flex}.icon-button,.share-button,.copy-button,.view-all-button,.clear-filter,.primary-action,.light-action,.danger-outline-action,.danger-action{color:#3b4659;background:#fff;border:1px solid #dfe4ec;border-radius:11px;outline:none;justify-content:center;align-items:center;gap:8px;transition:all .18s;display:inline-flex}.icon-button{width:42px;height:42px}.share-button,.primary-action{color:#fff;background:#2f6de1;border-color:#2f6de1;height:42px;padding:0 17px;font-weight:700;box-shadow:0 7px 15px #2f6de129}.icon-button:hover,.clear-filter:hover,.view-all-button:hover,.light-action:hover{background:#f4f7fb;border-color:#cbd4e1}.share-button:hover,.copy-button:hover,.primary-action:hover{background:#255fce}.icon-button:active,.share-button:active,.copy-button:active,.view-all-button:active,.clear-filter:active,.primary-action:active,.light-action:active,.danger-outline-action:active,.danger-action:active{transform:translateY(1px)}.icon-button:focus-visible,.share-button:focus-visible,.copy-button:focus-visible,.view-all-button:focus-visible,.clear-filter:focus-visible,.primary-action:focus-visible,.light-action:focus-visible,.danger-outline-action:focus-visible,.danger-action:focus-visible{box-shadow:0 0 0 3px #2f6de12e}.spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section{margin-bottom:32px}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.section-heading h2{color:#20293a;margin:0;font-size:20px}.section-heading span{color:#8992a3;font-size:13px}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;display:grid}.metric-card{text-align:left;color:#2869e6;background:#fff;border:1px solid #e5e9f0;border-radius:14px;outline:none;min-height:190px;padding:24px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 7px 22px #1c2e4c0e}.metric-line{background:currentColor;height:4px;position:absolute;inset:0 0 auto}.metric-top{justify-content:space-between;align-items:center;display:flex}.metric-icon{background:currentColor;border-radius:50%;place-items:center;width:50px;height:50px;display:grid}@supports (color:color-mix(in lab, red, red)){.metric-icon{background:color-mix(in srgb, currentColor 12%, white)}}.metric-card p{color:#606b7e;margin:24px 0 4px;font-size:16px;font-weight:700}.metric-value{align-items:baseline;gap:7px;display:flex}.metric-value strong{color:#172033;letter-spacing:-.04em;font-size:54px;line-height:1}.metric-value span{color:#7e889a;font-size:15px}.card-arrow{opacity:0;color:#7b879b;transition:all .2s}.metric-card:hover{border-color:currentColor;transform:translateY(-4px);box-shadow:0 14px 30px #2237591c}@supports (color:color-mix(in lab, red, red)){.metric-card:hover{border-color:color-mix(in srgb, currentColor 30%, #e5e9f0)}}.metric-card:hover .card-arrow{opacity:1;transform:translate(2px)}.metric-card:focus-visible{box-shadow:0 0 0 3px #2f6de12e,0 12px 26px #2237591a}.tone-blue{color:#2869e6}.tone-sky{color:#45a9e8}.tone-purple{color:#8759dc}.tone-orange{color:#e8902d}.tone-green{color:#29a96f}.alert-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.alert-card{text-align:left;color:#293447;border:1px solid #0000;border-radius:14px;outline:none;align-items:center;min-height:132px;padding:23px 24px;transition:all .18s;display:flex}.alert-icon{background:#ffffffb3;border-radius:14px;place-items:center;width:50px;height:50px;display:grid;box-shadow:0 5px 14px #2a33450f}.alert-copy{flex-direction:column;gap:7px;margin-left:16px;display:flex}.alert-copy strong{font-size:16px}.alert-copy small{color:#7c8697;font-size:12px}.alert-value{align-items:baseline;gap:6px;margin-left:auto;display:flex}.alert-value strong{font-size:42px;line-height:1}.alert-red{color:#d84b50;background:#fff1f1;border-color:#f7dddd}.alert-orange{color:#df8723;background:#fff7e9;border-color:#f8e6c7}.alert-gray{color:#6e798b;background:#f0f3f7;border-color:#e4e8ee}.alert-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #242f4214}.alert-card:focus-visible{box-shadow:0 0 0 3px #2f6de12e}.alert-active{border-color:currentColor;box-shadow:0 0 0 2px}@supports (color:color-mix(in lab, red, red)){.alert-active{box-shadow:0 0 0 2px color-mix(in srgb, currentColor 10%, transparent)}}.clear-filter{padding:8px 13px;font-size:13px}.table-card,.kanban-column,.chart-card,.panel-card{background:#fff;border:1px solid #e4e8ef;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #1d2b440d}.table-scroll{overflow:auto}.product-table{border-collapse:collapse;table-layout:fixed;width:100%}.product-table th{text-align:left;color:#778195;background:#fafbfc;border-bottom:1px solid #e6eaf0;height:54px;padding:0 18px;font-size:13px;font-weight:700}.product-table td{color:#4f5a6d;vertical-align:middle;border-bottom:1px solid #edf0f4;height:78px;padding:13px 18px;font-size:14px;line-height:1.55}.product-table tbody tr{cursor:pointer;outline:none;transition:all .15s}.product-table tbody tr:hover{background:#f7faff}.product-table tbody tr:focus-visible{background:#f7faff;box-shadow:inset 3px 0 #2f6de1}.product-table td:first-child strong{color:#222c3e;margin-bottom:6px;font-size:15px;display:block}.product-table td:first-child small{color:#9aa3b1;font-size:12px}.stage-pill{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:650;display:inline-flex}.stage-blue{color:#2f67c9;background:#edf4ff}.stage-purple{color:#7651cc;background:#f2ecff}.stage-orange{color:#c77522;background:#fff2df}.stage-green{color:#229765;background:#eaf8f1}.stage-slate{color:#647083;background:#eef1f5}.owner-cell{align-items:center;gap:8px;display:flex}.owner-cell i{color:#315fae;background:#eaf0fb;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-style:normal;font-weight:800;display:grid}.date-overdue{font-weight:700;color:#dc4b51!important}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.status-overdue{color:#d8474f;background:#fff0f1}.status-due-soon{color:#db8423;background:#fff5e5}.status-incomplete{color:#6f7b8d;background:#eef1f5}.status-normal{color:#229765;background:#eaf8f1}.status-muted{color:#64748b;background:#f1f5f9}.view-all-button{color:#3867bd;border:0;border-top:1px solid #e9edf2;border-radius:0;width:100%;height:50px;font-size:13px;font-weight:700}.drawer-backdrop{z-index:40;opacity:0;visibility:hidden;background:#121b2b33;border:0;transition:all .25s;position:fixed;inset:0}.drawer{z-index:41;visibility:hidden;background:#fff;width:500px;transition:all .28s;position:fixed;top:0;bottom:0;right:0;overflow:auto;transform:translate(105%);box-shadow:-18px 0 45px #121e3426}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer.open{visibility:visible;transform:translate(0)}.drawer-header{border-bottom:1px solid #e9edf2;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px;display:flex}.drawer-header p,.dialog-header p{color:#8993a4;margin:0 0 8px;font-size:12px;font-weight:700}.drawer-header h2,.dialog-header h2{color:#1f293b;margin:0 0 12px;font-size:23px}.drawer-body{padding:26px 28px}.detail-list{grid-template-columns:1fr 1fr;gap:14px;margin:0;display:grid}.detail-list>div{background:#f7f9fc;border:1px solid #edf0f4;border-radius:12px;padding:16px}.detail-list dt{color:#8a94a5;margin-bottom:9px;font-size:12px}.detail-list dd{color:#263145;margin:0;font-size:15px;line-height:1.65}.detail-wide{grid-column:1/-1}.task-line{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.dialog-backdrop{z-index:50;background:#11192847;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;width:min(500px,100%);padding:26px;box-shadow:0 22px 65px #101b3038}.dialog-header{justify-content:space-between;align-items:flex-start;display:flex}.dialog-hint{color:#707b8e;margin:18px 0;font-size:14px}.url-field{color:#6e798b;flex-direction:column;gap:8px;font-size:12px;display:flex}.url-field input{color:#4f5a6c;background:#f8f9fb;border:1px solid #dfe4ec;border-radius:9px;outline:none;height:44px;padding:0 12px}.copy-button{color:#fff;background:#2f6de1;border-color:#2f6de1;width:100%;height:44px;margin-top:15px;font-weight:700}.copy-success{text-align:center;color:#249665;margin:13px 0 0;font-size:13px}.loading-state,.empty-state{color:#788397;background:#fff;border:1px solid #e5e9ef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;display:flex}.loading-state span{border:3px solid #dde5f1;border-top-color:#2f6de1;border-radius:50%;width:34px;height:34px;margin-bottom:14px;animation:.8s linear infinite spin}.empty-state h3{color:#344054;margin:0 0 8px}.empty-state p,.loading-state p{margin:0;font-size:14px}.kanban-grid{grid-template-columns:repeat(4,minmax(230px,1fr));align-items:start;gap:18px;display:grid}.kanban-column{min-height:520px;padding:16px}.kanban-column h2{justify-content:space-between;align-items:center;margin:0 0 14px;font-size:17px;display:flex}.kanban-list{flex-direction:column;gap:12px;display:flex}.kanban-card{text-align:left;background:#fbfcfe;border:1px solid #e7ebf1;border-radius:12px;padding:14px;transition:all .18s}.kanban-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1d2b4414}.kanban-card h3{margin:0 0 8px;font-size:15px}.kanban-card p{color:#647084;margin:6px 0;font-size:13px}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.toolbar input,.toolbar select{background:#fff;border:1px solid #dfe4ec;border-radius:10px;min-width:150px;height:40px;padding:0 12px}.summary-grid,.analytics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px;display:grid}.summary-card,.analytics-card{background:#fff;border:1px solid #e4e8ef;border-radius:14px;padding:20px;box-shadow:0 8px 24px #1d2b440d}.summary-card span,.analytics-card span{color:#7b8798;font-size:13px}.summary-card strong,.analytics-card strong{margin-top:8px;font-size:34px;display:block}.chart-card{margin-bottom:22px;padding:22px}.bar-row,.issue-row{grid-template-columns:160px 1fr 50px;align-items:center;gap:12px;margin:14px 0;display:grid}.bar-row div{background:#eef2f7;border-radius:999px;height:12px;overflow:hidden}.bar-row i{border-radius:inherit;background:#2f6de1;height:100%;display:block}.timeline-row{border-bottom:1px solid #edf0f4;grid-template-columns:200px 1fr 140px;align-items:center;gap:14px;padding:14px 0;display:grid}.timeline-bar{background:linear-gradient(90deg,#2f6de1,#77b7ff);border-radius:999px;height:12px}@media (width<=1250px){.metric-grid{gap:12px}.metric-card{padding:18px}.metric-value strong{font-size:46px}.raas-main{padding:24px}}@media (width<=980px){.raas-sidebar{width:auto;position:static}.raas-main{margin-left:0}.metric-grid,.alert-grid,.kanban-grid,.summary-grid,.analytics-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}.task-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.task-status-card{text-align:left;color:#2f6de1;background:#fff;border:1px solid #e4e8ef;border-radius:14px;outline:none;min-height:150px;padding:22px;transition:all .18s;position:relative;overflow:hidden;box-shadow:0 8px 24px #1d2b440d}.task-status-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #2237591a}.task-status-card:focus-visible{box-shadow:0 0 0 3px #2f6de12e,0 12px 26px #2237591a}.task-status-card.selected{background:currentColor;border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.task-status-card.selected{background:color-mix(in srgb, currentColor 6%, white)}}.task-status-card.selected .task-card-line{height:6px}.task-status-card em{color:currentColor;background:#ffffffb8;border:1px solid;font-size:12px;font-style:normal;position:absolute;top:16px;right:16px}@supports (color:color-mix(in lab, red, red)){.task-status-card em{border:1px solid color-mix(in srgb, currentColor 24%, white)}}.task-status-card em{border-radius:999px;padding:4px 9px}.task-card-line{background:currentColor;height:4px;transition:all .18s;position:absolute;inset:0 0 auto}.task-status-card div{color:#4b5568;align-items:center;gap:12px;display:flex}.task-status-card div span{color:currentColor;background:currentColor;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}@supports (color:color-mix(in lab, red, red)){.task-status-card div span{background:color-mix(in srgb, currentColor 12%, white)}}.task-status-card div strong{font-size:16px}.task-status-card p{align-items:baseline;gap:6px;margin:22px 0 0;display:flex}.task-status-card b{color:#172033;font-size:48px;line-height:1}.task-status-card small{color:#7e889a}.task-card-blue{color:#2f6de1}.task-card-purple{color:#8759dc}.task-card-green{color:#28a873}.task-card-orange{color:#e8902d}.task-progress-panel{background:#fff;border:1px solid #e3e8f0;border-radius:14px;margin:0 0 20px;overflow:hidden;box-shadow:0 12px 30px #1d2b4414}.panel-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;height:60px;padding:0 18px 0 22px;display:flex}.panel-head h2{margin:0;font-size:18px}.panel-task-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.panel-task-item{text-align:left;color:#4d586b;background:#fbfcfe;border:1px solid #e7ebf1;border-radius:12px;gap:7px;padding:14px;transition:all .16s;display:grid}.panel-task-item:hover{background:#f7faff;border-color:#b7c8ec;transform:translateY(-1px)}.panel-task-item strong{color:#20293a;font-size:15px}.panel-task-item span{font-size:13px}.panel-empty{color:#818b9c;text-align:center;grid-column:1/-1}.task-progress-panel footer{background:#fafbfc;border-top:1px solid #edf0f4;justify-content:flex-end;gap:10px;padding:14px 16px;display:flex}.task-filter-panel{background:#fff;border:1px solid #e4e8ef;border-radius:14px;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:0 0 18px;padding:16px;display:grid;box-shadow:0 8px 24px #1d2b440d}.task-filter-panel input,.task-filter-panel select,.task-form input,.task-form select,.task-form textarea{color:#344054;background:#fff;border:1px solid #dfe4ec;border-radius:10px;outline:none;min-height:40px;padding:0 12px}.task-filter-panel input:focus,.task-filter-panel select:focus,.task-form input:focus,.task-form select:focus,.task-form textarea:focus{border-color:#5790ee;box-shadow:0 0 0 3px #2f6de11f}.view-switch,.segmented{background:#fff;border:1px solid #dfe4ec;border-radius:11px;gap:3px;padding:3px;display:inline-flex}.view-switch button,.segmented button{color:#5e697b;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;display:inline-flex}.view-switch button.active,.segmented button.active{color:#2563d8;background:#edf3ff;font-weight:700}.timeline-shell{background:#fff;border:1px solid #e4e8ef;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #1d2b440d}.timeline-toolbar{background:#fbfcfe;border-bottom:1px solid #e8edf4;align-items:center;gap:12px;min-height:62px;padding:10px 14px;display:flex}.timeline-toolbar strong{color:#263145;margin-left:auto;margin-right:auto}.timeline-nav{align-items:center;gap:8px;display:flex}.timeline-grid{display:grid;position:relative;overflow:auto}.timeline-left-head{z-index:6;color:#687386;background:#fff;border-bottom:1px solid #dfe5ee;border-right:1px solid #dfe5ee;align-items:center;height:78px;padding:0 18px;font-weight:700;display:flex;position:sticky;left:0}.timeline-axis{z-index:5;background:#fff;border-bottom:1px solid #dfe5ee;height:78px;display:grid;position:sticky;top:0}.timeline-axis>div{color:#7b8798;border-right:1px solid #eef2f6;align-content:center;justify-items:center;gap:2px;min-width:72px;display:grid}.timeline-axis small{white-space:nowrap;font-size:11px}.timeline-axis strong{color:#2d3748;font-size:16px}.timeline-axis span{font-size:11px}.timeline-axis .today-axis{color:#2f6de1;background:#f4f8ff}.timeline-axis .today-axis strong{color:#2f6de1}.timeline-axis .today-axis:before{content:"";background:#2f6de1;border-radius:50%;width:7px;height:7px}.today-line{z-index:8;pointer-events:none;border-left:2px dashed #2f6de1;width:0;position:absolute;top:0;bottom:-4000px}.timeline-row-wrap{display:contents}.timeline-left-row{z-index:4;text-align:left;background:#fff;border-top:0;border-bottom:1px solid #edf0f4;border-left:0;border-right:1px solid #dfe5ee;flex-direction:column;justify-content:center;gap:5px;padding:0 18px;transition:all .15s;display:flex;position:sticky;left:0}.timeline-left-row strong{color:#20293a;font-size:14px}.timeline-left-row span{color:#7b8798;font-size:12px}.timeline-track{background-image:linear-gradient(90deg,#eef2f6 1px,#0000 1px);background-size:calc(100% / var(--timeline-units,12)) 100%;border-bottom:1px solid #edf0f4;position:relative}.timeline-row-wrap.row-hot .timeline-left-row,.timeline-left-row:hover{background:#f7faff}.timeline-bar-task{color:#fff;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:999px;outline:none;justify-content:space-between;align-items:center;min-width:24px;height:24px;padding:0 12px;transition:all .16s;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%);box-shadow:0 6px 14px #1e293b1f}.timeline-bar-task:before,.timeline-bar-task:after{content:"";background:#ffffffd9;border-radius:50%;flex:none;width:6px;height:6px}.timeline-bar-task span{text-overflow:ellipsis;padding:0 8px;overflow:hidden}.timeline-bar-task:hover{filter:brightness(.95);box-shadow:0 10px 20px #1e293b29}.timeline-bar-task.selected{outline:3px solid #2f6de138}.task-done{background:#28a873}.task-done:after{content:"✓";color:#28a873;background:#ffffffe6;place-items:center;width:16px;height:16px;font-size:11px;display:grid}.task-doing{background:#2f6de1}.task-todo{background:#8b95a7}.task-risk{background:#e8902d}.task-risk:after{content:"!";color:#e8902d;background:#ffffffe6;place-items:center;width:16px;height:16px;font-weight:800;display:grid}.task-overdue{background:#dc4b51}.out-of-range{color:#9aa3b1;font-size:12px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.timeline-legend{background:#fbfcfe;border-top:1px solid #e8edf4;flex-wrap:wrap;gap:10px;padding:14px 18px;display:flex}.timeline-legend button{color:#596579;background:#fff;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;display:inline-flex}.timeline-legend i{border-radius:999px;width:10px;height:10px}.legend-done i{background:#28a873}.legend-doing i{background:#2f6de1}.legend-todo i{background:#8b95a7}.legend-risk i{background:#e8902d}.legend-overdue i{background:#dc4b51}.task-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.task-form label{color:#6f7b8d;flex-direction:column;gap:7px;font-size:13px;display:flex}.task-form .wide{grid-column:1/-1}.task-form textarea{resize:vertical;min-height:86px;padding-top:10px}.drawer-actions{border-top:1px solid #e9edf2;justify-content:flex-end;gap:10px;padding:16px 28px;display:flex}.edit-drawer .drawer-actions{justify-content:space-between;align-items:center}.drawer-danger-slot,.drawer-save-actions{align-items:center;gap:10px;display:flex}@media (width<=1180px){.task-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-task-list,.task-filter-panel{grid-template-columns:1fr}.timeline-toolbar{flex-wrap:wrap}}.timeline-legend button.active{background:#f4f7ff;border-color:currentColor;font-weight:700}.milestones-page.refined{max-width:1680px}.milestone-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.milestone-header h1{letter-spacing:-.03em;color:#182033;margin:0;font-size:34px;line-height:1.08}.milestone-header p{color:#8590a3;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;display:flex}.refresh-inline{color:#7f8a9c;background:0 0;border:0;border-radius:999px;place-items:center;width:26px;height:26px;display:inline-grid}.refresh-inline:hover{color:#2f6de1;background:#eef3fb}.milestone-actions{align-items:center;gap:10px;display:flex}.milestone-actions>button,.view-switch.light{color:#485466;background:#fff;border:1px solid #dfe5ee;border-radius:11px;min-height:38px;box-shadow:0 4px 12px #1c2b4609}.milestone-actions>button{align-items:center;gap:8px;padding:0 14px;font-weight:650;display:inline-flex}.milestone-actions>button:hover{background:#f7f9fd;border-color:#ccd5e3}.view-switch.light{gap:2px;padding:3px}.view-switch.light button{height:30px;padding:0 10px}.task-status-grid.refined{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:28px}.task-status-grid.refined .task-status-card{border-color:#e7ebf2;border-radius:14px;height:164px;min-height:164px;padding:28px 30px 24px;box-shadow:0 12px 28px #1f304e12}.task-status-grid.refined .task-status-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #1f304e1c}.task-status-grid.refined .task-status-card.selected{background:currentColor}@supports (color:color-mix(in lab, red, red)){.task-status-grid.refined .task-status-card.selected{background:color-mix(in srgb, currentColor 5%, white)}}.task-status-grid.refined .task-card-line{height:4px}.task-status-grid.refined .task-status-card.selected .task-card-line{height:6px}.task-status-grid.refined .task-card-head{color:#293344;align-items:center;gap:14px;display:flex}.task-status-grid.refined .task-card-head span{background:currentColor;border-radius:50%;width:48px;height:48px}@supports (color:color-mix(in lab, red, red)){.task-status-grid.refined .task-card-head span{background:color-mix(in srgb, currentColor 13%, white)}}.task-status-grid.refined .task-card-head span{color:currentColor}.task-status-grid.refined .task-card-head strong{letter-spacing:-.01em;font-size:18px}.task-status-grid.refined .task-status-card p{margin:24px 0 0}.task-status-grid.refined .task-status-card b{color:currentColor;letter-spacing:-.05em;font-size:52px;font-weight:780}.task-status-grid.refined .task-status-card small{color:#8b95a6;font-size:18px}.task-status-grid.refined .task-status-card footer{color:#7f8a9c;margin-top:8px;font-size:14px}.task-status-grid.refined .task-status-card em{top:14px;right:16px}.task-progress-panel{z-index:39;border-radius:16px;width:380px;max-height:calc(100vh - 150px);margin:0;position:fixed;top:108px;right:34px;overflow:auto;box-shadow:0 24px 70px #14223a33}.panel-task-list{grid-template-columns:1fr}.panel-task-item{gap:6px}.panel-task-item strong{font-size:14px}.panel-task-item span{color:#697488}.timeline-shell.compact-panel{background:#fff;border-color:#e5eaf2;border-radius:16px;box-shadow:0 14px 35px #1f304e13}.timeline-panel-head{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:18px 22px 14px 24px;display:flex}.timeline-panel-head h2{color:#20293a;margin:0;font-size:18px}.timeline-panel-head p{color:#8994a6;margin:6px 0 0;font-size:13px}.timeline-mini-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.segmented.compact{border-radius:10px;height:34px;padding:2px}.segmented.compact button{height:28px;padding:0 10px;font-size:13px}.segmented.compact.ghost{opacity:.72}.mini-button{color:#586476;background:#fff;border:1px solid #dfe5ee;border-radius:10px;place-items:center;min-width:34px;height:34px;padding:0 10px;display:inline-grid}.mini-button.today{color:#2f6de1;font-weight:700}.mini-button:hover{background:#f7f9fd;border-color:#cbd5e3}.timeline-board{grid-template-columns:38% 62%;min-height:414px;max-height:520px;display:grid;overflow:hidden}.timeline-board.expanded{max-height:620px;overflow-y:auto}.task-list-pane{background:#fff;border-right:1px solid #e1e6ee}.task-list-head{color:#7c8798;border-bottom:1px solid #e8edf4;grid-template-columns:1.35fr 1.1fr .8fr .85fr;align-items:center;gap:14px;height:64px;padding:0 22px;font-size:14px;font-weight:700;display:grid}.task-list-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f6;grid-template-columns:1.35fr 1.1fr .8fr .85fr;align-items:center;gap:14px;width:100%;padding:0 22px;transition:all .15s;display:grid}.task-list-row:hover,.task-list-row.row-hot{background:#f8fbff}.task-list-row strong{color:#263145;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:750;overflow:hidden}.task-list-row>span:not(.stage-pill):not(.status-badge){color:#4c586b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.task-list-row .stage-pill,.task-list-row .status-badge{justify-self:start}.axis-pane{background:#fff;overflow:auto hidden}.axis-scroll{position:relative}.axis-months{color:#414b5e;justify-content:space-between;align-items:end;height:24px;padding:0 24px;font-size:14px;font-weight:750;display:flex}.timeline-axis.slim{background:#fff;border-bottom:1px solid #e8edf4;height:40px;display:grid;position:relative}.timeline-axis.slim>div{color:#667285;border-right:1px solid #edf1f5;align-content:center;justify-items:center;gap:1px;min-width:78px;display:grid}.timeline-axis.slim strong{color:#2f3747;font-size:16px;line-height:1}.timeline-axis.slim span{font-size:12px}.timeline-axis.slim .today-axis strong,.timeline-axis.slim .today-axis span{color:#2f6de1}.timeline-axis.slim .today-axis:before{content:"";border-top:7px solid #2f6de1;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:37px}.timeline-track.slim{background-image:linear-gradient(90deg,#edf1f5 1px,#0000 1px);background-size:calc(100% / var(--timeline-units,12)) 100%;border-bottom:1px solid #eef2f6;position:relative}.timeline-track.slim.track-hot{background-color:#f8fbff}.timeline-track.slim .timeline-bar-task{height:22px;padding:0 10px;box-shadow:0 5px 12px #1e293b1f}.timeline-track.slim .timeline-bar-task span{font-size:12px}.today-line{opacity:.7;border-left-color:#2f7df6;top:-40px}.timeline-footer{background:#fff;border-top:1px solid #edf1f6;grid-template-columns:38% 62%;align-items:center;min-height:58px;display:grid}.view-all-button.compact{color:#2f6de1;border-top:0;border-right:1px solid #e1e6ee;height:58px;font-size:14px}.view-all-button.compact span{font-size:22px;line-height:1}.timeline-legend.compact{background:#fff;border-top:0;justify-content:center;gap:24px;padding:0 18px}.timeline-legend.compact button{color:#626d7f;background:0 0;border:1px solid #0000;padding:6px 8px;font-size:13px}.timeline-legend.compact button:hover,.timeline-legend.compact button.active{background:#f5f8fd;border-color:#dde5f0}.timeline-legend.compact i{border-radius:999px;width:28px;height:6px}.timeline-legend.compact .legend-done i{background:#38c383}.timeline-legend.compact .legend-doing i{background:#367cf6}.timeline-legend.compact .legend-todo i{background:#a7b0bd}.timeline-legend.compact .legend-risk i{background:#ff8a1f}.timeline-bar-task:before{display:none}.task-done:after{content:"✓";width:18px;height:18px}.task-doing:after{content:"";background:0 0;border:3px solid #ffffffdb;width:14px;height:14px}.task-todo:after{content:"";background:#ffffffb8;width:14px;height:14px}.task-risk:after{content:"!";width:18px;height:18px}.task-overdue:after{content:"!";color:#dc4b51;background:#ffffffe6;place-items:center;width:18px;height:18px;font-weight:800;display:grid}@media (width<=1280px){.timeline-board,.timeline-footer{grid-template-columns:44% 56%}.task-status-grid.refined{gap:14px}.task-status-grid.refined .task-status-card{padding:24px 22px}}@media (width<=980px){.milestone-header{flex-direction:column}.task-status-grid.refined{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-board,.timeline-footer{grid-template-columns:1fr}.axis-pane{border-top:1px solid #e8edf4}.view-all-button.compact{border-right:0}}.edit-drawer{flex-direction:column;width:560px;display:flex}.edit-drawer .drawer-body{flex:1;padding-bottom:18px}.product-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.product-form label{color:#6f7b8d;flex-direction:column;gap:7px;font-size:13px;font-weight:650;display:flex}.product-form .wide{grid-column:1/-1}.product-form input,.product-form select,.product-form textarea{color:#344054;background:#fff;border:1px solid #dfe4ec;border-radius:10px;outline:none;min-height:42px;padding:0 12px;transition:all .16s}.product-form textarea{resize:vertical;min-height:92px;padding-top:10px;line-height:1.55}.product-form input:hover,.product-form select:hover,.product-form textarea:hover{background:#fbfcff;border-color:#cbd5e3}.product-form input:focus,.product-form select:focus,.product-form textarea:focus{border-color:#5790ee;box-shadow:0 0 0 3px #2f6de11f}.form-status-preview{background:#fafbfc;border:1px dashed #dfe4ec;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.form-status-preview small{color:#8a94a6;font-weight:500}.drawer-helper{border-top:1px solid #edf0f4;margin-top:22px;padding-top:18px}.compact-heading{align-items:center;margin-bottom:12px}.compact-heading h3{color:#263145;margin:0;font-size:16px}.related-task-list{gap:10px;display:grid}.related-task-list article{background:#fbfcfe;border:1px solid #e7ebf1;border-radius:12px;gap:8px;padding:12px;display:grid}.related-task-list article strong{color:#263145;font-size:14px}.related-task-list article p{color:#5e697b;margin:0;font-size:13px;line-height:1.55}.related-task-list article small,.drawer-note{color:#8994a6;font-size:12px}.sticky-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;position:sticky;bottom:0}.light-action{color:#3b4659;background:#fff;min-height:42px;padding:0 18px;font-weight:700}.danger-outline-action{color:#dc2626;background:#fff;border-color:#fecaca;min-height:42px;padding:0 18px;font-weight:700}.danger-outline-action:hover{background:#fff1f2;border-color:#fca5a5}.danger-action{color:#fff;background:#dc2626;border-color:#dc2626;min-height:42px;padding:0 18px;font-weight:800}.danger-action:hover{background:#b91c1c;border-color:#b91c1c}.confirm-modal-layer{z-index:80;background:#0f172a47;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirm-modal{background:#fff;border:1px solid #eef1f6;border-radius:16px;width:min(460px,100%);padding:24px;box-shadow:0 24px 70px #0f172a2e}.confirm-modal h3{color:#111827;margin:0 0 12px;font-size:20px}.confirm-modal p{color:#5d6b82;margin:0;font-size:14px;line-height:1.7}.confirm-modal footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.toast-message{z-index:70;color:#fff;background:#182033;border-radius:999px;min-width:112px;padding:12px 18px;font-weight:750;animation:.18s ease-out toastIn;position:fixed;bottom:28px;right:28px;box-shadow:0 16px 40px #12203338}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.editable-row,.editable-card{cursor:pointer;position:relative}.editable-row:hover td{background:#f7faff}.editable-row td:first-child strong:after{content:"编辑";opacity:0;color:#2f6de1;margin-left:8px;font-size:12px;font-weight:700;transition:all .16s}.editable-row:hover td:first-child strong:after{opacity:1}.edit-corner{opacity:0;color:#2f6de1;background:#edf3ff;border:1px solid #d7e3ff;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:750;transition:all .16s;position:absolute;top:12px;right:12px}.editable-card:hover .edit-corner{opacity:1}.kanban-add-card,.pipeline-add{color:#3867bd;background:#fff;border:1px dashed #cbd5e3;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-weight:750;transition:all .16s;display:inline-flex}.kanban-add-card:hover,.pipeline-add:hover{background:#f4f8ff;border-color:#89aef1;transform:translateY(-1px)}.kanban-add-card:focus-visible,.pipeline-add:focus-visible,.demand-card:focus-visible{outline:none;box-shadow:0 0 0 3px #2f6de12e}.pipeline-grid{grid-template-columns:repeat(5,minmax(210px,1fr));align-items:start;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.pipeline-column{background:#fff;border:1px solid #e4e8ef;border-radius:14px;min-height:560px;padding:15px;box-shadow:0 8px 24px #1d2b440d}.pipeline-column header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.pipeline-column header strong{color:#536073;background:#f1f5f9;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:13px;display:grid}.pipeline-list{flex-direction:column;gap:12px;display:flex}.demand-card{text-align:left;background:#fbfcfe;border:1px solid #e7ebf1;border-radius:12px;padding:14px;transition:all .18s}.demand-card:hover{background:#f7faff;border-color:#c7d7f2;transform:translateY(-2px);box-shadow:0 8px 18px #1d2b4414}.demand-card h3{color:#20293a;margin:0 0 8px;padding-right:44px;font-size:15px}.demand-card p{color:#626d7f;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 12px;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.demand-card div{color:#596579;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.demand-card small{color:#8b95a6;font-size:12px}.embedded-table{box-shadow:none;margin-top:12px}@media (width<=1280px){.pipeline-grid{grid-template-columns:repeat(5,260px)}}@media (width<=720px){.edit-drawer{width:min(100vw,560px)}.product-form{grid-template-columns:1fr}}.board-page{max-width:1760px}.board-header{margin-bottom:28px}.board-header h1{letter-spacing:-.03em;font-size:34px}.board-actions{align-items:center;gap:10px;display:flex}.board-text-action,.board-icon-action{color:#485466;background:#fff;border:1px solid #dfe5ee;border-radius:11px;outline:none;justify-content:center;align-items:center;gap:8px;height:38px;font-weight:700;transition:all .16s;display:inline-flex;box-shadow:0 5px 14px #1c2b460a}.board-text-action{padding:0 15px}.board-icon-action{width:40px}.board-text-action:hover,.board-icon-action:hover{background:#f7f9fd;border-color:#ccd6e4;transform:translateY(-1px)}.board-text-action:active,.board-icon-action:active{transform:translateY(0)}.board-text-action:focus-visible,.board-icon-action:focus-visible{box-shadow:0 0 0 3px #2f6de129}.board-kanban-grid{grid-template-columns:repeat(4,minmax(250px,1fr));align-items:stretch;gap:18px}.board-kanban-column{border:1px solid #0000;border-radius:16px;flex-direction:column;min-height:calc(100vh - 190px);max-height:calc(100vh - 150px);padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #1f304e13}.board-kanban-column:before{content:"";opacity:.9;background:currentColor;height:4px;position:absolute;inset:0 0 auto}.board-column-head{justify-content:space-between;align-items:center;gap:14px;height:64px;padding:0 22px;display:flex}.board-column-head h2{color:currentColor;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800;line-height:1}.board-column-head span{background:currentColor;border-radius:10px;justify-content:center;align-items:center;min-width:38px;height:32px;padding:0 13px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.board-column-head span{background:color-mix(in srgb, currentColor 13%, white)}}.board-column-head span{color:currentColor;font-size:18px;font-weight:850;box-shadow:inset 0 0 0 1px}@supports (color:color-mix(in lab, red, red)){.board-column-head span{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 10%, transparent)}}.board-kanban-list{flex-direction:column;flex:1;gap:14px;min-height:0;padding:0 16px 16px;display:flex}.board-card-stack{scrollbar-width:thin;flex-direction:column;flex:1;gap:14px;min-height:0;padding:2px;display:flex;overflow-y:auto}.board-product-card{text-align:left;color:#293447;background:#ffffffeb;border:1px solid #8591a624;border-radius:12px;min-height:154px;max-height:170px;padding:18px 18px 16px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;box-shadow:0 10px 22px #1f304e13}.board-product-card:hover{border-color:currentColor;transform:translateY(-2px);box-shadow:0 18px 32px #1f304e1f}@supports (color:color-mix(in lab, red, red)){.board-product-card:hover{border-color:color-mix(in srgb, currentColor 22%, #e8edf4)}}.board-product-card:hover{background:#fff}.board-product-card:focus-visible{outline:none;box-shadow:0 0 0 3px,0 18px 32px #1f304e1f}@supports (color:color-mix(in lab, red, red)){.board-product-card:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent), 0 18px 32px #1f304e1f}}.board-card-title-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.board-card-title-row h3{color:#1f293b;letter-spacing:-.01em;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;padding-right:0;font-size:16px;font-weight:760;line-height:1.35;display:-webkit-box;overflow:hidden}.board-card-title-row .status-badge{flex:none;gap:5px;height:24px;padding:0 9px;font-size:12px}.board-card-title-row .status-badge i{width:5px;height:5px}.board-product-card p{color:#687386;margin:8px 0 0;font-size:14px;line-height:1.45}.board-product-card p strong{color:#526075;font-weight:750}.board-product-card .next-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.board-add-card{border:1px dashed;border-radius:12px;flex:none;width:100%;min-height:46px}@supports (color:color-mix(in lab, red, red)){.board-add-card{border:1px dashed color-mix(in srgb, currentColor 34%, #d8e1ef)}}.board-add-card{color:currentColor;box-shadow:none;background:#ffffffb8;font-size:15px;font-weight:820}.board-add-card:hover{background:currentColor}@supports (color:color-mix(in lab, red, red)){.board-add-card:hover{background:color-mix(in srgb, currentColor 8%, white)}}.board-add-card:hover{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.board-add-card:hover{border-color:color-mix(in srgb, currentColor 48%, white)}}.board-add-card:hover{transform:translateY(-1px)}.board-empty-state{border:1px dashed;min-height:128px}@supports (color:color-mix(in lab, red, red)){.board-empty-state{border:1px dashed color-mix(in srgb, currentColor 24%, #dfe6f1)}}.board-empty-state{color:currentColor;border-radius:14px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.board-empty-state{color:color-mix(in srgb, currentColor 62%, #7d8798)}}.board-empty-state{background:#ffffff6b;font-size:14px;font-weight:750}.board-tone-blue{color:#2f6de1;background:linear-gradient(#edf5ff 0%,#f6faff 42%,#f9fbff 100%);border-color:#d7e7ff}.board-tone-purple{color:#8b5cf6;background:linear-gradient(#f4edff 0%,#fbf8ff 42%,#fff 100%);border-color:#eadcff}.board-tone-orange{color:#f08a24;background:linear-gradient(#fff3e2 0%,#fff9f1 42%,#fff 100%);border-color:#ffe0b8}.board-tone-green{color:#27b879;background:linear-gradient(#ebfbf3 0%,#f6fdf9 42%,#fff 100%);border-color:#cff4e1}.board-page .edit-corner{top:9px;right:10px}.board-page .status-overdue{color:#e04f5a;background:#fff0f2}.board-page .status-due-soon{color:#f08a24;background:#fff3e2}.board-page .status-incomplete{color:#6f7b8d;background:#eef2f6}.board-page .status-normal{color:#22a66d;background:#e9f8f0}@media (width<=1380px){.board-kanban-grid{grid-template-columns:repeat(4,minmax(235px,1fr));gap:14px}.board-column-head{padding:0 18px}.board-kanban-list{padding:0 12px 14px}.board-product-card{padding:16px}}@media (width<=1080px){.board-kanban-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.board-kanban-column{min-height:560px;max-height:none}}@media (width<=720px){.board-actions{flex-wrap:wrap}.board-kanban-grid{grid-template-columns:1fr}}.pipeline-page{max-width:1760px}.pipeline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pipeline-primary,.pipeline-light,.pipeline-more{border-radius:11px;outline:none;justify-content:center;align-items:center;gap:8px;height:38px;font-weight:750;transition:all .16s;display:inline-flex}.pipeline-primary{color:#fff;background:#2f6de1;border:1px solid #2f6de1;padding:0 16px;box-shadow:0 8px 18px #2f6de129}.pipeline-light,.pipeline-more{color:#485466;background:#fff;border:1px solid #dfe5ee;box-shadow:0 5px 14px #1c2b460a}.pipeline-light{padding:0 15px}.pipeline-more{width:40px}.pipeline-primary:hover{background:#255fce;transform:translateY(-1px)}.pipeline-light:hover,.pipeline-more:hover{background:#f7f9fd;border-color:#ccd6e4;transform:translateY(-1px)}.pipeline-primary:focus-visible,.pipeline-light:focus-visible,.pipeline-more:focus-visible{box-shadow:0 0 0 3px #2f6de129}.pipeline-board-grid{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:stretch;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.pipeline-board-column{color:#2f6de1;border:1px solid #0000;border-radius:16px;flex-direction:column;min-height:calc(100vh - 190px);max-height:calc(100vh - 150px);display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #1f304e13}.pipeline-board-column:before{content:"";opacity:.9;background:currentColor;height:4px;position:absolute;inset:0 0 auto}.pipeline-column-head{justify-content:space-between;align-items:center;gap:12px;height:64px;padding:0 20px;display:flex}.pipeline-column-head h2{color:currentColor;letter-spacing:-.02em;margin:0;font-size:19px;font-weight:830}.pipeline-column-head span{background:currentColor;border-radius:10px;justify-content:center;align-items:center;min-width:36px;height:31px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.pipeline-column-head span{background:color-mix(in srgb, currentColor 13%, white)}}.pipeline-column-head span{color:currentColor;font-size:17px;font-weight:850}.pipeline-column-body{flex-direction:column;flex:1;gap:13px;min-height:0;padding:0 14px 15px;display:flex}.pipeline-card-stack{scrollbar-width:thin;flex-direction:column;flex:1;gap:13px;min-height:0;padding:2px;display:flex;overflow-y:auto}.pipeline-demand-card{text-align:left;color:#293447;background:#ffffffed;border:1px solid #8591a624;border-radius:12px;min-height:176px;padding:16px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;position:relative;box-shadow:0 10px 22px #1f304e13}.pipeline-demand-card:hover{border-color:currentColor;transform:translateY(-2px);box-shadow:0 18px 32px #1f304e1f}@supports (color:color-mix(in lab, red, red)){.pipeline-demand-card:hover{border-color:color-mix(in srgb, currentColor 22%, #e8edf4)}}.pipeline-demand-card:hover{background:#fff}.pipeline-demand-card:focus-visible{outline:none;box-shadow:0 0 0 3px,0 18px 32px #1f304e1f}@supports (color:color-mix(in lab, red, red)){.pipeline-demand-card:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 18%, transparent), 0 18px 32px #1f304e1f}}.pipeline-demand-title{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.pipeline-demand-title h3{color:#1f293b;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:760;line-height:1.35;display:-webkit-box;overflow:hidden}.pipeline-demand-title .stage-pill{flex:none;align-items:center;height:24px;padding:0 9px;font-size:12px}.pipeline-tags{flex-wrap:wrap;gap:7px;margin-bottom:11px;display:flex}.pipeline-tags .stage-pill{align-items:center;height:24px;padding:0 9px;font-size:12px}.pipeline-demand-card p{color:#687386;margin:7px 0 0;font-size:14px;line-height:1.45}.pipeline-demand-card p strong{color:#526075;font-weight:750}.pipeline-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pipeline-column-add{border:1px dashed;border-radius:12px;flex:none;width:100%;min-height:46px}@supports (color:color-mix(in lab, red, red)){.pipeline-column-add{border:1px dashed color-mix(in srgb, currentColor 34%, #d8e1ef)}}.pipeline-column-add{color:currentColor;background:#ffffffb8;justify-content:center;align-items:center;gap:7px;font-size:15px;font-weight:820;transition:all .16s;display:inline-flex}.pipeline-column-add:hover{background:currentColor}@supports (color:color-mix(in lab, red, red)){.pipeline-column-add:hover{background:color-mix(in srgb, currentColor 8%, white)}}.pipeline-column-add:hover{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.pipeline-column-add:hover{border-color:color-mix(in srgb, currentColor 48%, white)}}.pipeline-column-add:hover{transform:translateY(-1px)}.pipeline-empty-state{border:1px dashed;min-height:128px}@supports (color:color-mix(in lab, red, red)){.pipeline-empty-state{border:1px dashed color-mix(in srgb, currentColor 24%, #dfe6f1)}}.pipeline-empty-state{color:currentColor;border-radius:14px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.pipeline-empty-state{color:color-mix(in srgb, currentColor 62%, #7d8798)}}.pipeline-empty-state{background:#ffffff6b;font-size:14px;font-weight:750}.pipeline-tone-blue{color:#2f6de1;background:linear-gradient(#edf5ff 0%,#f6faff 42%,#f9fbff 100%);border-color:#d7e7ff}.pipeline-tone-slate{color:#64748b;background:linear-gradient(#f1f5f9 0%,#f8fafc 42%,#fff 100%);border-color:#e2e8f0}.pipeline-tone-purple{color:#8b5cf6;background:linear-gradient(#f4edff 0%,#fbf8ff 42%,#fff 100%);border-color:#eadcff}.pipeline-tone-orange{color:#f08a24;background:linear-gradient(#fff3e2 0%,#fff9f1 42%,#fff 100%);border-color:#ffe0b8}.pipeline-tone-green{color:#27b879;background:linear-gradient(#ebfbf3 0%,#f6fdf9 42%,#fff 100%);border-color:#cff4e1}.demand-retain-note{color:#bc6b1a;background:#fff8ed;border:1px solid #ffe0b8;border-radius:12px;margin-top:14px;padding:12px 14px}@media (width<=1380px){.pipeline-board-grid{grid-template-columns:repeat(5,260px)}}@media (width<=720px){.pipeline-actions{justify-content:flex-start}.pipeline-board-grid{grid-template-columns:1fr}.pipeline-board-column{min-height:560px;max-height:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
