:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{color-scheme:only light;position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:0;--min-font-size: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv: calc(1 / var(--min-font-size))}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height: 0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x: 1;--rotate: 0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none;margin:-1px;padding:1px;background-color:var(--highlight-bg-color);-webkit-backdrop-filter:var(--highlight-backdrop-filter);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);-webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);backdrop-filter:var(--highlight-selected-backdrop-filter)}.textLayer ::selection{background:#0000ff40}@supports (background: color-mix(in srgb,AccentColor,transparent 75%)){.textLayer ::selection{background:color-mix(in srgb,AccentColor,transparent 75%)}}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--color-white: #FFFFFF;--primary-000: #E8F0FE;--primary-100: #D0E4FB;--primary-150: #B3D4F8;--primary-200: #93C5FD;--primary-300: #49AAFC;--primary-400: #039FF6;--primary-500: #0070CE;--primary-600: #0D47A1;--primary-700: #0A3C8A;--primary-800: #082F6E;--primary-900: #05224E;--brand-text: #0066CC;--brand-accent: #4984F6;--brand-navy: #05375F;--gold: #F6C445;--gray-100: #FAFBFB;--gray-200: #F3F4F5;--gray-300: #E8E9EA;--gray-400: #DCDEE0;--gray-500: #A9ADB2;--gray-600: #8C9198;--gray-700: #6F767E;--gray-800: #43474C;--gray-900: #2C2F32;--error-000: #FDE6EB;--error-100: #F7ACBC;--error-200: #F3869B;--error-300: #F05B72;--error-400: #EF4056;--error-500: #ED1B2F;--error-600: #C80029;--error-700: #C42128;--error-800: #B21F24;--error-900: #9E1D20;--warning-050: #FFE293;--warning-100: #FFCE7B;--warning-200: #FCBA63;--warning-300: #FAA74A;--warning-400: #F79433;--warning-500: #F89521;--warning-600: #DF8726;--warning-700: #CB7C29;--warning-800: #B77029;--warning-900: #A36427;--success-050: #EAF5E2;--success-000: #B7DB9B;--success-100: #ACD58A;--success-200: #A1D078;--success-300: #89C765;--success-400: #7EC352;--success-500: #75C044;--success-600: #66AE45;--success-700: #5CA044;--success-800: #46823D;--success-900: #3C7337;--info-000: #FAFDFF;--info-100: #ECF6FF;--info-200: #B9DCFF;--info-300: #84C1FF;--info-400: #50A7FF;--info-500: #2D96FF;--info-600: #0A84FF;--info-700: #086ACC;--info-800: #064F99;--info-900: #043566;--army-000: #E7F1EA;--army-100: #B3D3BE;--army-200: #8FBD9E;--army-300: #5C9F72;--army-400: #3C8D56;--army-500: #0B702C;--army-600: #0A6628;--army-700: #08501F;--army-800: #063E18;--army-900: #0C2A1D;--purple-050: #F2EFFE;--purple-100: #D6CCFD;--purple-200: #C2B3FC;--purple-300: #A690FA;--purple-400: var(--primary-400);--purple-500: #7A5AF8;--purple-600: #6F52E2;--purple-700: #5740B0;--purple-800: #433288;--purple-900: #332668;--teal-000: #E6F4F7;--teal-300: #5FAFBC;--teal-500: #007FAD;--teal-600: #0E7490;--teal-700: #0B5E75;--orange-700: #B45412;--orange-800: #96430D;--gold-700: #907301;--gold-800: #735C01;--warning-950: #8A5420;--color-primary: var(--primary-600);--color-primary-hover: var(--primary-700);--color-primary-pressed: var(--primary-800);--color-primary-subtle: var(--primary-000);--color-text-on-primary: var(--color-white);--color-surface: var(--color-white);--color-border: var(--gray-400);--color-border-strong: var(--gray-500);--color-divider: var(--gray-300);--excel-green: #107C41;--excel-green-hover: #0B5A2F;--excel-green-bg: #E7F3EC;--word-blue: #2B579A;--word-blue-hover: #1F4276;--primary: var(--primary-600);--primary-hover: var(--primary-700);--primary-bg: var(--primary-000);--primary-border: var(--primary-200);--success: var(--success-700);--success-bg: var(--army-000);--success-border: var(--success-000);--warning: var(--warning-500);--warning-bg: var(--warning-050);--warning-border: var(--warning-200);--error: var(--error-500);--error-bg: var(--error-000);--error-border: var(--error-100);--info: var(--primary-600);--accent: var(--primary);--accent-hover: var(--primary-hover);--accent-muted: var(--primary-bg);--green: var(--success-700);--green-muted: rgba(92, 160, 68, .12);--yellow: var(--warning-500);--yellow-muted: rgba(248, 149, 33, .14);--orange: var(--warning-600);--orange-muted: rgba(223, 135, 38, .14);--red: var(--error-500);--red-muted: rgba(237, 27, 47, .1);--purple: var(--purple-500);--purple-muted: rgba(122, 90, 248, .1);--bg-base: var(--gray-200);--bg-surface: var(--color-white);--bg-card: var(--color-white);--bg-hover: var(--gray-100);--bg-elevated: var(--color-white);--border: var(--gray-400);--border-light: var(--gray-300);--border-secondary: var(--gray-300);--text-primary: var(--gray-900);--text-secondary: var(--gray-800);--text-muted: var(--gray-800);--text-subtle: var(--gray-700);--text-disabled: var(--gray-500);--menu-text: var(--gray-900);--font-family-base: "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;--font-family-brand: "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--display-md: 36px;--display-md-lh: 44px;--display-sm: 30px;--display-sm-lh: 38px;--display-xs: 24px;--display-xs-lh: 32px;--text-xl: 20px;--text-xl-lh: 30px;--text-lg: 18px;--text-lg-lh: 28px;--text-md: 16px;--text-md-lh: 24px;--text-sm: 14px;--text-sm-lh: 20px;--text-xs: 14px;--text-xs-lh: 20px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 24px -6px rgba(16, 24, 40, .12), 0 4px 8px -4px rgba(16, 24, 40, .06);--shadow-xl: 0 24px 48px -12px rgba(16, 24, 40, .22);--ring: 0 0 0 3px var(--primary-100);--sidebar-w: 256px;--topbar-h: 64px;--header-h: var(--topbar-h)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{font-family:var(--font-family-base);background:var(--bg-base);color:var(--text-primary);line-height:var(--text-md-lh);font-size:var(--text-md);min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-500);background-clip:padding-box}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-w);padding-top:var(--topbar-h);background:var(--bg-base)}.page-content{padding:16px 24px 40px;width:100%}.meeting-roles-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.meeting-roles-grid .role-span-full{grid-column:1 / -1}@media(max-width:720px){.meeting-roles-grid{grid-template-columns:1fr}}.global-toolbar{position:fixed;left:0;top:0;bottom:0;width:72px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;z-index:100;padding:20px 0}.global-toolbar .toolbar-logo{margin-bottom:30px}.global-toolbar .logo-icon{width:40px;height:40px;background:var(--accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;font-weight:700}.global-toolbar .toolbar-nav{display:flex;flex-direction:column;gap:16px;width:100%}.global-toolbar .toolbar-link{position:relative;display:flex;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto;border-radius:12px;color:var(--text-muted);transition:all .2s ease}.global-toolbar .toolbar-link:hover{background:var(--bg-hover);color:var(--text-primary)}.global-toolbar .toolbar-link.active{background:var(--accent-muted);color:var(--accent)}.global-toolbar .toolbar-tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:12px;background:var(--bg-surface);border:1px solid var(--border);padding:6px 10px;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;opacity:0;pointer-events:none;visibility:hidden;transition:all .2s ease;z-index:110;box-shadow:0 4px 6px -1px #0000001a}.global-toolbar .toolbar-link:hover .toolbar-tooltip{opacity:1;visibility:visible}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:100;box-shadow:2px 0 8px #00000008}.sidebar-logo .logo-emblem{width:40px;height:40px;object-fit:contain;margin-right:12px;flex-shrink:0}.sidebar-logo .logo-emblem-fallback{width:40px;height:40px;background:linear-gradient(135deg,#c80029,#b21f24);border-radius:50%;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;color:#fcba63;margin-right:12px}.sidebar-link-expandable{background:transparent;border:none;width:calc(100% - 24px);text-align:left;cursor:pointer;font-family:inherit}.sidebar-link-expandable.has-active{color:var(--text-primary)}.sidebar-submenu{padding:2px 0 4px;margin-left:30px}.sidebar-sublink{padding-left:14px!important;font-size:14px!important;margin:1px 12px 1px 0!important}.sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;font-size:12px;font-weight:600;line-height:1;flex-shrink:0;margin-left:auto}.sidebar-badge-red{background:var(--error);color:#fff}.sidebar-badge-grey{background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border-light)}.sidebar-logo{height:var(--topbar-h);display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--border-light);flex-shrink:0}.sidebar-logo .logo-icon{width:32px;height:32px;background:var(--primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;font-weight:700;margin-right:12px;flex-shrink:0}.sidebar-logo .logo-text{min-width:0}.sidebar-logo .logo-title{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3}.sidebar-logo .logo-sub{font-size:12px;font-weight:500;color:var(--text-muted);margin-top:1px}.sidebar-scroll{flex:1;overflow-y:auto;padding:16px 0}.sidebar-section{padding:0}.sidebar-section+.sidebar-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.sidebar-section-label{padding:0 16px 8px;font-size:12px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-muted)}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 16px;margin:1px 12px;color:var(--text-secondary);border-radius:var(--radius-md);transition:all .15s ease;font-size:14px;font-weight:400}.sidebar-link:hover{color:var(--text-primary);background:var(--bg-base)}.sidebar-link.active{color:var(--primary);background:var(--primary-bg);font-weight:500}.sidebar-icon{width:16px;height:16px;flex-shrink:0}.sidebar-link .sidebar-icon{color:var(--text-disabled)}.sidebar-link:hover .sidebar-icon{color:var(--text-secondary)}.sidebar-link.active .sidebar-icon{color:var(--primary)}.topbar{position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);background:var(--bg-surface);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:99}.topbar-breadcrumb{display:flex;align-items:center;font-size:14px;color:var(--text-muted)}.breadcrumb-link{cursor:pointer;transition:color .15s}.breadcrumb-link:hover{color:var(--primary)}.breadcrumb-sep{margin:0 8px;color:var(--border)}.breadcrumb-current{color:var(--text-primary);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:16px}.topbar-user{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:color .15s}.topbar-user:hover{color:var(--primary)}.topbar-user-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:1px solid var(--primary-border);flex-shrink:0}.topbar-user-name{font-weight:500}.topbar-user-chevron{color:var(--text-disabled)}.topbar-user-dropdown{position:relative}.topbar-user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:200;animation:fadeIn .15s ease;overflow:hidden}.topbar-user-menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.topbar-user-menu-item:hover{background:var(--bg-base);color:var(--primary)}.topbar-user-menu-item--danger:hover{background:var(--error-bg);color:var(--error)}.topbar-user-menu-divider{height:1px;background:var(--border-light);margin:4px 0}.tn-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:248px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:6px;z-index:120;animation:fadeIn .15s ease;max-height:min(70vh,640px);overflow-y:auto}.tn-dropdown::-webkit-scrollbar{width:6px}.tn-dropdown::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.tn-dd-sec-head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;margin-top:2px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:.15s;text-align:left}.tn-dd-sec-head:hover{background:var(--bg-base);color:var(--text-primary)}.tn-dd-sec-head.open{color:var(--primary)}.tn-dd-sec-chev{transition:transform .18s;flex-shrink:0}.tn-dd-sec-head.open .tn-dd-sec-chev{transform:rotate(90deg)}.tn-dd-sec-body{padding-left:4px}.tn-dd-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;color:var(--menu-text);border-radius:var(--radius-md);cursor:pointer;transition:.15s;text-align:left}.tn-dd-item svg{width:16px;height:16px;color:var(--primary-500);flex-shrink:0}.tn-dd-item:hover{background:var(--bg-base);color:var(--text-primary)}.tn-dd-item.active{background:var(--primary-bg);color:var(--primary);font-weight:500}.tn-dd-item.active svg{color:var(--primary)}.tn-dd-item.open{color:var(--primary)}.tn-dd-item.open svg:first-child{color:var(--primary)}.tn-dd-chev{transition:transform .15s}.tn-dd-item.open .tn-dd-chev{transform:rotate(180deg)}.tn-dd-sub .tn-dd-item{padding-left:34px;font-size:12px}.tn-badge{margin-left:auto;background:var(--error);color:#fff;font-size:12px;font-weight:600;min-width:20px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;flex-shrink:0}.user-menu-header{padding:12px 14px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.user-menu-role-tag{display:inline-block;background:var(--primary-bg);color:var(--primary);font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}.user-menu-section-label{padding:6px 14px 4px;font-size:12px;font-weight:700;color:var(--text-disabled);text-transform:uppercase;letter-spacing:.06em}.page-crumbs{margin-bottom:8px}@media(max-width:960px){.page-content{padding:16px 20px 24px}}.profile-page{max-width:100%}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:24px;padding:24px 0}.profile-avatar-wrapper{position:relative;cursor:pointer;border-radius:50%;overflow:hidden;width:100px;height:100px}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;border-radius:50%}.profile-avatar-wrapper:hover .profile-avatar-overlay{opacity:1}.profile-avatar-name{margin-top:12px;font-size:18px;font-weight:600;color:var(--text-primary)}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px}.ant-tabs-tabpane>.card,.ant-tabs-content-holder .card{padding-left:0;padding-right:0;border:none;box-shadow:none;background:transparent}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;display:flex;align-items:center;gap:16px;transition:border-color .2s,box-shadow .2s}.stat-card:hover{border-color:var(--border);box-shadow:var(--shadow-md)}.stat-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.stat-info .label{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.stat-info .value{font-size:26px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-md);font-weight:var(--fw-medium);font-size:var(--text-md);transition:all .15s ease;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary>svg,.btn-secondary-outline>svg{color:var(--primary-600)}.btn-secondary:disabled>svg,.btn-secondary-outline:disabled>svg{color:inherit}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.btn-danger{background:var(--red-muted);color:var(--red);border:1px solid transparent}.btn-danger:hover{background:var(--red);color:#fff}.btn-success{background:var(--green-muted);color:var(--green);border:1px solid transparent}.btn-success:hover{background:var(--green);color:#fff}.btn-toolbar{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}.btn-toolbar:hover{background:var(--primary-000);border-color:var(--color-primary);color:var(--color-primary)}.btn-sm{height:32px;padding:0 12px;font-size:var(--text-sm)}.btn-lg{height:48px;padding:0 20px;font-size:var(--text-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);line-height:var(--text-xs-lh);font-weight:var(--fw-medium)}.badge-draft{background:var(--warning-050);color:var(--warning-800)}.badge-published{background:var(--success-000);color:var(--success-800)}.badge-cancelled{background:var(--error-000);color:var(--error-600)}.badge-success{background:var(--success-000);color:var(--success-800)}.badge-danger{background:var(--error-000);color:var(--error-600)}.table-wrap{overflow-x:auto}.table-wrap>table{min-width:560px}.table-wrap>table.tbl-wide{min-width:900px}table:not(.antd-table){width:100%;border-collapse:collapse;font-size:var(--text-sm)}table:not(.antd-table) th{text-align:left;padding:10px 12px;background:var(--gray-200);border-bottom:1px solid var(--border-light);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);text-transform:none;letter-spacing:normal;white-space:nowrap}table:not(.antd-table) td{padding:11px 12px;border-bottom:1px solid var(--border-secondary);vertical-align:middle;color:var(--text-primary)}table:not(.antd-table) tr:hover td{background:var(--bg-hover)}table:not(.antd-table) tr:last-child td{border-bottom:none}.form-group{margin-bottom:16px}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-muted);margin-bottom:6px}.form-input{width:100%;padding:8px 12px;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color .15s;outline:none}.form-input:focus{border-color:var(--color-primary);box-shadow:var(--ring)}.form-input::placeholder{color:var(--text-subtle)}textarea.form-input{resize:vertical;min-height:80px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}.form-grid-2>.form-group{min-width:0}.room-select-multiline.ant-select{height:auto!important;min-height:40px;align-items:flex-start!important}.room-select-multiline .ant-select-content{white-space:normal!important;overflow:visible!important;height:auto!important}.form-row{display:flex;gap:12px;align-items:flex-end}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:560px;max-width:94vw;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:var(--text-lg);font-weight:var(--fw-bold)}.modal-close{font-size:20px;color:var(--text-muted);padding:4px}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px 24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:var(--display-xs);line-height:var(--display-xs-lh);font-weight:var(--fw-bold);color:var(--text-primary)}.page-header .sub{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.admin-page-header{display:flex;align-items:flex-start;gap:14px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--border-light)}.admin-page-header .aph-ico{width:42px;height:42px;border-radius:11px;flex-shrink:0;background:var(--primary-bg);color:var(--primary);font-size:20px;display:flex;align-items:center;justify-content:center}.admin-page-header .aph-txt{flex:1;min-width:0}.admin-page-header .aph-title{font-size:20px;font-weight:700;line-height:1.25;margin:0;color:var(--text-primary)}.admin-page-header .aph-sub{font-size:12px;color:var(--text-secondary);margin-top:3px}.admin-page-header .aph-act{flex-shrink:0;align-self:center}.admin-config-page{padding-bottom:92px}.admin-config-inner{width:100%;margin:0 auto}.admin-config-foot{position:fixed;bottom:0;left:256px;right:0;z-index:20;padding:14px 28px;background:var(--bg-elevated);border-top:1px solid var(--border-light);box-shadow:0 -4px 16px #0000000f}.admin-config-foot-inner{margin:0 auto;display:flex;justify-content:flex-end;gap:10px}@media(max-width:960px){.admin-config-foot{left:200px}}.admin-empty{padding:40px 0}.meetings-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.meetings-page-title{font-size:var(--display-xs);line-height:var(--display-xs-lh);font-weight:var(--fw-bold);color:var(--text-primary);margin:0}.meetings-page-subtitle{font-size:14px;color:var(--text-muted);margin-top:4px}.meetings-page-subtitle strong{color:var(--text-primary);font-weight:500}.antd-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden}.antd-card-toolbar{padding:16px 24px 0;border-bottom:1px solid var(--border-light);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.antd-tabs{display:flex;gap:24px}.antd-tab{padding:0 0 12px;font-size:14px;font-weight:400;color:var(--text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;position:relative}.antd-tab:hover{color:var(--text-secondary);border-bottom-color:var(--border)}.antd-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.antd-search-wrap{position:relative;width:280px;padding-bottom:12px}.antd-search-icon{position:absolute;left:10px;top:8px;color:var(--text-disabled);pointer-events:none}.antd-search-input{width:100%;padding:6px 12px 6px 34px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-md);outline:none;color:var(--text-primary);background:var(--bg-surface);transition:all .2s}.antd-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0d47a11a}.antd-search-input::placeholder{color:var(--text-disabled)}.antd-table-wrap{overflow-x:auto}.antd-table{width:100%;border-collapse:collapse;font-size:14px}.antd-table thead tr{background:var(--gray-200);border-bottom:1px solid var(--border-light)}.antd-table th{padding:14px 16px;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-light);text-transform:none;letter-spacing:normal}.antd-table th.col-title{width:38%;padding-left:24px}.antd-table th.col-center{text-align:center}.antd-table th.col-actions{text-align:right;padding-right:24px}.antd-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background .15s}.antd-table tbody tr:hover{background:var(--bg-hover)}.antd-table td{padding:16px;vertical-align:middle;color:var(--text-primary);border-bottom:1px solid var(--border-secondary)}.antd-table td.col-title{padding-left:24px}.antd-table td.col-center{text-align:center}.antd-table td.col-actions{text-align:right;padding-right:24px}.antd-table td.empty-row{text-align:center;padding:48px 16px;color:var(--text-disabled)}.meeting-title-link{font-weight:500;color:var(--primary);transition:color .15s;line-height:1.4}.meeting-title-link:hover{color:var(--primary-hover)}.time-range{color:var(--text-primary)}.time-date{color:var(--text-disabled);font-size:12px;font-weight:500}.location-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delegate-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bg-base);color:var(--text-secondary);font-size:12px;font-weight:500}.status-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);line-height:var(--text-xs-lh);font-weight:var(--fw-medium);white-space:nowrap;border:1px solid transparent}.status-dot{width:6px;height:6px;border-radius:50%;margin-right:6px;flex-shrink:0;background:currentColor}.status-tag-green{background:var(--success-000);color:var(--success-800)}.status-dot.green{background:var(--success-800)}.status-tag-orange{background:var(--warning-050);color:var(--warning-800)}.status-dot.orange{background:var(--warning-800)}.status-tag-blue{background:var(--primary-000);color:var(--primary-700)}.status-dot.blue{background:var(--primary-600)}.status-tag-gray{background:var(--gray-200);color:var(--gray-700)}.status-dot.gray{background:var(--gray-700)}.status-tag-red{background:var(--error-000);color:var(--error-600)}.status-dot.red{background:var(--error-600)}.status-tag-purple{background:var(--purple-050);color:var(--purple-700)}.status-dot.purple{background:var(--purple-700)}.action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:4px}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:none;cursor:pointer;transition:all .15s;color:var(--primary-600)}.action-btn:hover{background:var(--primary-bg);color:var(--primary)}.action-btn-publish{color:var(--primary)}.action-btn-publish:hover{background:var(--primary-bg)}.action-btn-view{color:var(--teal-600)}.action-btn-view:hover{color:var(--primary);background:var(--primary-bg)}.action-btn-edit{color:var(--orange-700)}.action-btn-edit:hover{color:var(--primary);background:var(--primary-bg)}.action-btn-delete{color:var(--error-500)}.action-btn-delete:hover{color:var(--error);background:var(--error-bg)}.action-btn-approve{color:var(--success)}.action-btn-approve:hover{background:var(--success-bg)}.action-btn-reject{color:var(--error)}.action-btn-reject:hover{background:var(--error-bg)}.antd-pagination{padding:16px 24px;border-top:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--text-muted);background:var(--bg-surface)}.pagination-buttons{display:flex;gap:4px}.pagination-btn{padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(.disabled):not(.active){border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary);font-weight:500}.pagination-btn.disabled{color:var(--border);background:var(--bg-hover);cursor:not-allowed}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:10px}.custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--text-disabled)}@keyframes loginFloat1{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes loginFloat2{0%,to{transform:translateY(0)}50%{transform:translateY(15px)}}@keyframes loginFloat3{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes loginPulse{0%,to{opacity:1}50%{opacity:.4}}.login-animate-float-1{animation:loginFloat1 6s ease-in-out infinite}.login-animate-float-2{animation:loginFloat2 8s ease-in-out infinite}.login-animate-float-3{animation:loginFloat3 7s ease-in-out infinite}.login-page{--login-accent: #0d47a1;--login-accent-hover: #0070ce;--login-red: #ed1b2f;--login-red-muted: rgba(237, 27, 47, .1);min-height:100vh;display:flex;flex-direction:row;background:#f3f4f5;font-family:var(--font-family-base)}.login-left-brand{display:none;width:55%;position:relative;overflow:hidden;background:#05224e;align-items:center;justify-content:center;flex-direction:column}@media(min-width:1024px){.login-left-brand{display:flex}}.login-brand-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.login-brand-gradient{position:absolute;border-radius:50%;filter:blur(120px)}.login-brand-gradient-1{top:-10%;left:-10%;width:50%;height:50%;background:#0d47a1;mix-blend-mode:multiply;opacity:.4}.login-brand-gradient-2{bottom:-10%;right:-10%;width:50%;height:50%;background:#0d47a1;mix-blend-mode:multiply;opacity:.3}.login-brand-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgc3Ryb2tlPSJyZ2JhKDI1NSwyNTUsMjU1LDAuMDUpIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0wIDQwaDQwVjBIMHoiLz48L2c+PC9zdmc+);opacity:.2}.login-floating-area{position:relative;width:100%;max-width:520px;aspect-ratio:1 / 1;margin-bottom:16px;z-index:10;display:flex;align-items:center;justify-content:center}.login-device-mockup{position:relative;z-index:20;width:288px;height:352px;background:#ffffff1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:24px;box-shadow:0 0 50px #6f52e233;display:flex;flex-direction:column}.login-mockup-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:16px;margin-bottom:20px}.login-mockup-header-bar{height:12px;width:80px;background:#ffffff4d;border-radius:999px}.login-mockup-header-icon{width:32px;height:32px;border-radius:50%;background:#7a5af866;display:flex;align-items:center;justify-content:center;color:#fffc}.login-mockup-body{display:flex;flex-direction:column;gap:20px;flex:1}.login-mockup-row{display:flex;align-items:center;gap:12px}.login-mockup-row-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-mockup-row-icon--blue{background:#0070ce4d;color:#93c5fd}.login-mockup-row-icon--green{background:#66ae454d;color:#a1d078}.login-mockup-row-icon--purple{background:#7a5af84d;color:#c2b3fc}.login-mockup-row-lines{display:flex;flex-direction:column;gap:8px;width:100%}.login-mockup-line{height:8px;border-radius:999px}.login-mockup-line--full{width:100%;background:#fff6}.login-mockup-line--2-3{width:66%;background:#fff3}.login-mockup-line--5-6{width:83%;background:#fff6}.login-mockup-line--half{width:50%;background:#fff3}.login-mockup-line--3-4{width:75%;background:#fff6}.login-mockup-line--4-5{width:80%;background:#fff3}.login-mockup-footer{margin-top:auto;height:40px;width:100%;background:#0070ce8c;border:1px solid rgba(3,159,246,.35);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.login-mockup-footer:hover{background:#0070cebf}.login-mockup-footer span{color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px}.login-float-chip{position:absolute;background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px #0000004d;z-index:30}.login-float-chip span{color:#fffc;font-size:14px;font-weight:500}.login-float-chip--ai{top:12%;left:2%}.login-float-chip--vote{bottom:15%;right:2%}.login-float-chip--dashboard{top:22%;right:-2%}.login-float-chip--digital{bottom:12%;left:2%;background:#66ae451a;border-color:#66ae4533;border-radius:999px;padding:8px 16px;gap:8px}.login-float-chip--digital span{color:#a1d078;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.login-float-icon--purple{color:var(--purple-300)}.login-float-icon--green{color:var(--success-400)}.login-float-icon--cyan{color:var(--primary-300)}.login-pulse-dot{width:8px;height:8px;border-radius:50%;background:#7ec352;animation:loginPulse 2s ease-in-out infinite}.login-brand-text-content{position:relative;z-index:10;text-align:center;padding:0 48px;max-width:640px;margin-top:16px}.login-brand-text-content h2{font-size:32px;font-weight:700;color:#fff;margin-bottom:24px;line-height:1.3}@media(min-width:1200px){.login-brand-text-content h2{font-size:36px}}.login-gradient-text{background:linear-gradient(to right,var(--purple-400),var(--primary-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-brand-text-content p{color:#8c9198;font-size:18px;line-height:1.6}.login-right-form{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;background:#fff;position:relative;z-index:10;box-shadow:-4px 0 24px #00000005}@media(min-width:640px){.login-right-form{padding:48px}}@media(min-width:1024px){.login-right-form{width:45%;padding:96px}}.login-form-container{width:420px;max-width:100%;animation:loginFadeIn .6s ease forwards}.login-logo-brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:48px}.login-logo-icon{width:48px;height:48px;background:#0d47a1;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #7a5af84d}.login-logo-text{font-size:24px;font-weight:700;letter-spacing:-.5px;color:#2c2f32}.login-title-section{margin-bottom:40px}.login-title-section h1{font-size:30px;font-weight:700;color:#2c2f32;margin-bottom:12px;letter-spacing:-.5px}.login-title-section p{color:#6f767e;font-size:14px;line-height:1.6}.login-form-fields{display:flex;flex-direction:column;gap:24px}.login-field-group{display:flex;flex-direction:column;gap:8px}.login-field-label{font-size:14px;font-weight:600;color:#43474c}.login-field-label-row{display:flex;align-items:center;justify-content:space-between}.login-forgot-link{font-size:14px;font-weight:500;color:#0d47a1;text-decoration:none;transition:color .2s}.login-forgot-link:hover{color:var(--primary-700)}.login-field-input-wrap{position:relative}.login-field-icon{position:absolute;inset:0 auto 0 0;width:44px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#8c9198}.login-field-input{display:block;width:100%;padding:14px 16px 14px 44px;background:#fafbfb;border:1px solid #e8e9ea;border-radius:12px;color:#2c2f32;font-size:14px;outline:none;transition:all .2s}.login-field-input:focus{box-shadow:0 0 0 2px #0d47a1;border-color:transparent;background:#fff}.login-field-input::placeholder{color:#8c9198}.login-submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border:none;border-radius:12px;background:#0d47a1;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #0d47a14d;margin-top:8px}.login-submit-btn:hover{background:var(--primary-700)}.login-submit-btn:focus{outline:none;box-shadow:0 0 0 2px #0d47a1,0 0 0 4px #0d47a14d}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--login-red-muted, rgba(200, 0, 41, .1));color:var(--login-red, #c80029);padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:8px;border:1px solid rgba(240,91,114,.3);display:flex;align-items:center;gap:8px}.login-demo{margin-top:36px;padding-top:24px;border-top:1px solid #f3f4f5}.login-demo-title{font-size:12px;font-weight:600;color:#8c9198;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.login-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-demo-btn{padding:8px 12px;background:#fafbfb;border:1px solid #f3f4f5;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.login-demo-btn:hover{border-color:#0d47a1;background:#0d47a10d}.login-demo-btn .demo-role{font-size:12px;font-weight:600;color:#2c2f32;display:block}.login-demo-btn .demo-cred{font-size:12px;color:#8c9198;display:block;margin-top:2px}@media(max-width:900px){.login-page{flex-direction:column}.login-right-form{width:100%;min-height:auto;order:1;padding:32px 24px 40px}.login-left-brand{width:100%;min-height:auto;order:0}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.text-muted{color:var(--text-muted)}.text-sm{font-size:12px}.bold{font-weight:700}.section-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:12px}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{padding:12px 18px;border-radius:var(--radius-md);font-size:12px;font-weight:500;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px;animation:slideUp .25s ease;min-width:260px}.toast-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.toast-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.toast-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.toast-info{background:var(--primary-bg);color:var(--primary);border:1px solid var(--primary-border)}.toast-icon{flex-shrink:0}.toast-msg{flex:1}.toast-close{background:none;border:none;color:inherit;opacity:.6;font-size:18px;line-height:1;padding:0 4px;cursor:pointer;border-radius:var(--radius-sm)}.toast-close:hover{opacity:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-divider);margin-bottom:20px}.tab{padding:12px 16px;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .15s;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:var(--fw-semibold)}.folder-row{display:flex;gap:12px;margin-bottom:20px}.folder-col{flex:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.folder-col-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.folder-col-title{font-size:14px;font-weight:700}.folder-type-chung{border-top:3px solid var(--accent)}.folder-type-xinykien{border-top:3px solid var(--purple)}.folder-type-ketluan{border-top:3px solid var(--green)}.file-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.file-item:hover{background:var(--bg-hover)}.file-icon{font-size:16px;flex-shrink:0}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:24px;text-align:center;cursor:pointer;transition:all .2s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-muted)}.upload-zone p{color:var(--text-muted);font-size:14px;margin-top:8px}.chart-bars{display:flex;flex-direction:column;gap:10px}.chart-bar-item{display:flex;align-items:center;gap:12px}.chart-bar-label{width:80px;font-size:12px;color:var(--text-muted);text-align:right;flex-shrink:0}.chart-bar-track{flex:1;height:28px;background:var(--bg-base);border-radius:var(--radius-sm);overflow:hidden}.chart-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:var(--radius-sm);display:flex;align-items:center;padding-left:10px;font-size:12px;font-weight:600;color:#fff;min-width:32px;transition:width .5s ease}.cockpit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cockpit-card{min-height:200px}@media(max-width:900px){.cockpit-grid{grid-template-columns:1fr}}.gauge-container{margin-top:12px}.gauge-bar{width:100%;height:32px;background:var(--bg-base);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px}.gauge-fill{height:100%;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;transition:width .6s ease}.gauge-green{background:linear-gradient(90deg,var(--green),#5ca044)}.gauge-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.vote-bars{display:flex;flex-direction:column;gap:8px}.vote-bar-row{display:flex;align-items:center;gap:10px}.vote-label{width:130px;font-size:12px;color:var(--text-muted);flex-shrink:0}.vote-bar-track{flex:1;height:26px;background:var(--bg-base);border-radius:var(--radius-sm);overflow:hidden}.vote-bar-fill{height:100%;border-radius:var(--radius-sm);display:flex;align-items:center;padding-left:8px;font-size:12px;font-weight:600;color:#fff;min-width:24px;transition:width .5s ease}.att-vote-bar{height:8px;background:var(--gray-200);border-radius:999px;overflow:hidden}.att-vote-bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.vote-agree{background:linear-gradient(90deg,var(--green),#5ca044)}.vote-disagree{background:linear-gradient(90deg,var(--red),#c80029)}.vote-abstain{background:linear-gradient(90deg,var(--yellow),#b77029)}.speaker-current{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius-md);background:var(--green-muted);border:1px solid rgba(117,192,68,.3);margin-bottom:8px}.speaker-avatar{width:40px;height:40px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.speech-queue{display:flex;flex-direction:column;gap:6px}.speech-queue-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);font-size:12px}.queue-number{width:24px;height:24px;border-radius:50%;background:var(--accent-muted);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.vote-card-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0}.vote-card-header:hover{opacity:.85}.vote-drilldown{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.drilldown-group{margin-bottom:4px}.drilldown-header{font-size:14px;font-weight:600;margin-bottom:8px}.drilldown-names{display:flex;flex-wrap:wrap;gap:6px}.user-chip{background:var(--bg-surface);border:1px solid var(--border);padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;color:var(--text-primary)}.dept-layout{display:grid;grid-template-columns:380px 1fr;gap:20px}.dept-tree-panel{overflow-y:auto;max-height:70vh}.dept-members-panel{min-height:300px}@media(max-width:960px){.dept-layout{grid-template-columns:1fr}}.tree-node{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:background .12s}.tree-node:hover{background:var(--bg-hover)}.tree-node-selected{background:var(--accent-muted);border-left:2px solid var(--accent)}.tree-toggle{width:16px;text-align:center;font-size:12px;font-weight:500;color:var(--text-subtle);flex-shrink:0;cursor:pointer}.tree-label{flex:1;font-weight:500;display:flex;align-items:center;gap:6px}.tree-label svg{flex-shrink:0;color:var(--primary)}.tree-code{font-size:12px;font-weight:600;color:var(--text-subtle);background:var(--bg-hover);padding:1px 6px;border-radius:4px}.tree-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.tree-node:hover .tree-actions{opacity:1}.member-add-row{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.member-add-row .form-input{font-size:12px;padding:6px 8px}.folder-item:hover{background:var(--bg-hover)!important}.dashboard-container{display:flex;flex-direction:column;gap:24px}.highlight-banner{background:linear-gradient(135deg,var(--accent) 0%,#05224e 100%);border-radius:var(--radius-lg);padding:32px;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.highlight-banner:before{content:"";position:absolute;top:-20%;right:-5%;width:300px;height:300px;background:#ffffff0d;border-radius:50%;pointer-events:none}.highlight-content .highlight-tag{display:inline-block;background:#fff3;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.highlight-content h2{font-size:26px;font-weight:800;margin-bottom:8px}.highlight-meta{display:flex;gap:20px;font-size:14px;opacity:.9}.dashboard-main-grid{display:grid;grid-template-columns:1fr 340px;gap:24px}.column-left,.column-right{display:flex;flex-direction:column;gap:24px}.widget-card{height:100%}.section-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px}.weekly-list{display:flex;flex-direction:column;gap:12px}.meeting-item{display:flex;align-items:center;gap:16px;padding:12px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border);transition:all .2s;color:inherit}.meeting-item:hover{border-color:var(--accent);transform:translate(4px);background:var(--bg-hover)}.date-box{width:50px;height:50px;background:var(--accent-muted);color:var(--accent);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.date-box .day{font-size:18px;font-weight:800;line-height:1}.date-box .month{font-size:12px;font-weight:700;text-transform:uppercase}.meeting-info{flex:1;min-width:0}.meeting-info .title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.meeting-info .meta{font-size:12px;font-weight:500;color:var(--text-muted)}.meeting-item .arrow{color:var(--text-subtle);font-size:18px}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.doc-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px;border-radius:var(--radius-md);text-align:center;transition:all .2s;cursor:pointer}.doc-card:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-2px)}.doc-icon{font-size:32px;margin-bottom:10px}.doc-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.doc-meeting{font-size:12px;font-weight:500;color:var(--text-muted)}.tasks-list{display:flex;flex-direction:column;gap:12px}.task-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-surface);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.task-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer}.task-info .title{font-size:12px;font-weight:500;margin-bottom:4px}.task-info .due{font-size:12px;color:var(--red);font-weight:600}.loading-state{display:flex;justify-content:center;align-items:center;padding:100px;color:var(--text-muted);font-size:16px}.folder-item.active{background:var(--accent-muted)!important;color:var(--accent)}.folder-item .folder-actions{opacity:0;transition:opacity .2s}.folder-item:hover .folder-actions{opacity:1}.file-row:hover{box-shadow:var(--shadow-sm);border-color:var(--text-muted)!important;background:var(--bg-hover)!important}.room-builder-container{display:flex;flex-wrap:wrap;height:100%;width:100%;min-height:0;overflow:hidden;outline:none;background:var(--bg-base)}.room-builder-toolbar{width:220px;min-width:220px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.rbt-header{padding:14px 16px 10px;border-bottom:1px solid var(--border)}.rbt-title{font-size:14px;font-weight:700;color:var(--text-primary)}.rbt-group{border-bottom:1px solid var(--border)}.rbt-group-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.rbt-group-header:hover{background:var(--bg-hover);color:var(--text-primary)}.rbt-chevron{font-size:12px;font-weight:500;color:var(--text-subtle)}.rbt-group-items{padding:2px 8px 10px;display:flex;flex-direction:column;gap:2px}.rbt-item-btn{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .12s;text-align:left}.rbt-item-btn:hover{background:var(--accent-muted);color:var(--accent)}.rbt-item-icon{width:22px;text-align:center;font-size:14px;flex-shrink:0}.rbt-item-label{white-space:nowrap}.rbt-upload-btn{border:1px dashed var(--border);background:var(--bg-surface)}.rbt-upload-btn:hover{border-color:var(--accent);background:var(--accent-muted)}.rbt-divider{height:1px;background:var(--border);margin:4px 0}.rbt-actions{padding:12px 14px;display:flex;flex-direction:column;gap:6px}.rbt-action-row{display:flex;gap:6px}.rbt-action-btn{flex:1;padding:6px 0;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:all .12s;color:var(--text-primary);text-align:center}.rbt-action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.rbt-action-btn:disabled{opacity:.4;cursor:not-allowed}.rbt-action-btn.active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.rbt-zoom-info{font-size:12px;font-weight:500;color:var(--text-subtle);text-align:center;padding-top:4px}.room-builder-canvas{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-base);overflow:hidden;position:relative}.canvas-scroll-area{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px}.room-builder-properties{width:260px;min-width:260px;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;max-height:100%;overflow:hidden}.rbp-header{padding:14px 16px 10px;border-bottom:1px solid var(--border);font-size:14px;font-weight:700;color:var(--text-primary);flex-shrink:0}.rbp-content{padding:12px 14px;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto}.rbp-section{margin-bottom:4px}.rbp-type-badge{display:inline-block;padding:4px 10px;border-radius:20px;background:var(--accent-muted);color:var(--accent);font-size:12px;font-weight:600}.rbp-field{display:flex;flex-direction:column;gap:4px}.rbp-field label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.rbp-field input[type=text],.rbp-field input[type=number]{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-surface);color:var(--text-primary);outline:none;transition:border-color .15s}.rbp-field input:focus{border-color:var(--accent)}.rbp-row{display:flex;gap:8px}.rbp-half{flex:1}.rbp-color-grid{display:flex;flex-wrap:wrap;gap:4px}.rbp-color-swatch{width:22px;height:22px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:all .12s;box-shadow:inset 0 0 0 1px #00000014}.rbp-color-swatch:hover{transform:scale(1.2);z-index:1}.rbp-color-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}.rbp-divider{height:1px;background:var(--border);margin:4px 0}.rbp-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rbp-act-btn{padding:6px 8px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:all .12s;color:var(--text-primary)}.rbp-act-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.rbp-act-danger:hover{border-color:var(--red);color:var(--red);background:var(--red-muted)}.rbp-empty{padding:32px 16px;text-align:center}.rbp-empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.rbp-empty p{font-size:12px;color:var(--text-subtle);line-height:1.5}.rbp-footer{padding:14px 16px;border-top:1px solid var(--border);display:flex;gap:8px;background:var(--bg-surface);margin-top:auto;flex-shrink:0}@keyframes ws-pulse-glow{0%,to{box-shadow:0 0 #ed1b2f66}50%{box-shadow:0 0 20px 4px #ed1b2f26}}@keyframes ws-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.ws-highlight-banner{background:linear-gradient(135deg,#05375f,#05224e,#05224e);border-radius:var(--radius-lg);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;position:relative;overflow:hidden;border:1.5px solid rgba(237,27,47,.35);animation:ws-pulse-glow 3s ease-in-out infinite}.ws-highlight-pulse{position:absolute;top:-50%;right:-10%;width:350px;height:350px;background:radial-gradient(circle,rgba(237,27,47,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.ws-highlight-body{flex:1;min-width:0}.ws-highlight-tag{display:inline-flex;align-items:center;gap:8px;background:#ed1b2f40;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:12px;letter-spacing:.08em;color:#f3869b}.pulse-dot{display:inline-block;width:8px;height:8px;background:#ed1b2f;border-radius:50%;animation:ws-pulse-dot 1.5s ease-in-out infinite}.pulse-dot.small{width:6px;height:6px;margin-right:4px}.ws-highlight-title{font-size:22px;font-weight:800;margin-bottom:8px;line-height:1.3}.ws-highlight-meta{display:flex;gap:20px;font-size:12px;opacity:.85;flex-wrap:wrap}.ws-countdown{font-weight:700;color:#fcba63}.ws-highlight-cta{flex-shrink:0;font-size:14px;padding:12px 28px;border-radius:var(--radius-md);font-weight:700;white-space:nowrap}.ws-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ws-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s}.ws-stat-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.ws-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.ws-stat-value{font-size:24px;font-weight:800;color:var(--text-primary);line-height:1.1}.ws-stat-label{font-size:12px;color:var(--text-muted);margin-top:2px}.ws-main-grid{display:grid;grid-template-columns:1fr 380px;gap:24px}.ws-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ws-card-header .section-title{margin-bottom:0}.ws-view-toggle{display:flex;background:var(--bg-base);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border)}.ws-toggle-btn{padding:5px 14px;border:none;background:transparent;border-radius:calc(var(--radius-sm) - 2px);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.ws-toggle-btn.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #00000026}.ws-toggle-btn:hover:not(.active){color:var(--text-primary)}.ws-today-list{display:flex;flex-direction:column;gap:4px}.ws-meeting-row{display:flex;align-items:center;gap:16px;padding:12px 14px;border-radius:var(--radius-sm);border-left:3px solid transparent;transition:all .15s;color:inherit}.ws-meeting-row:hover{background:var(--bg-hover)}.ws-meeting-past{opacity:.45;border-left-color:var(--border)}.ws-meeting-past .ws-meeting-title{text-decoration:line-through;text-decoration-color:var(--text-subtle)}.ws-meeting-current{background:#2f81f714;border-left-color:var(--accent);font-weight:600}.ws-meeting-current:hover{background:#2f81f71f}.ws-meeting-upcoming{border-left-color:#f89521}.ws-meeting-time{font-size:14px;font-weight:600;color:var(--text-muted);white-space:nowrap;min-width:100px;font-variant-numeric:tabular-nums}.ws-time-sep{margin:0 4px;color:var(--text-subtle)}.ws-meeting-info{flex:1;min-width:0}.ws-meeting-title{font-size:14px;font-weight:500;display:flex;align-items:center;gap:4px}.ws-meeting-loc{font-size:12px;font-weight:500;color:var(--text-muted);margin-top:1px}.ws-meeting-badge{flex-shrink:0}.badge-past,.badge-current,.badge-upcoming{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-past{background:var(--bg-hover);color:var(--text-subtle)}.badge-current{background:#2f81f726;color:var(--accent)}.badge-upcoming{background:#f895211f;color:#cb7c29}.ws-week-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.ws-week-day{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;min-height:120px}.ws-week-day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ws-day-header{padding:8px 10px;background:var(--bg-hover);display:flex;justify-content:space-between;font-size:12px;font-weight:600}.ws-week-day.is-today .ws-day-header{background:var(--accent);color:#fff}.ws-day-meetings{padding:6px;display:flex;flex-direction:column;gap:4px}.ws-week-meeting{padding:5px 8px;border-radius:4px;font-size:12px;display:flex;flex-direction:column;gap:1px;color:inherit;transition:background .15s;border-left:2px solid transparent}.ws-week-meeting:hover{background:var(--bg-hover)}.ws-week-meeting.ws-meeting-past{opacity:.4;border-left-color:var(--border)}.ws-week-meeting.ws-meeting-current{background:#2f81f71a;border-left-color:var(--accent);opacity:1}.ws-week-meeting.ws-meeting-upcoming{border-left-color:#f89521}.ws-week-time{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted)}.ws-week-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-tasks-card{display:flex;flex-direction:column}.ws-tasks-counter{font-size:14px;font-weight:700;padding:3px 10px;background:var(--accent-muted);color:var(--accent);border-radius:20px}.ws-progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:16px}.ws-progress-bar{flex:1;height:8px;background:var(--bg-base);border-radius:4px;overflow:hidden}.ws-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#66ae45);border-radius:4px;transition:width .6s ease}.ws-progress-text{font-size:12px;font-weight:700;color:var(--accent);min-width:36px;text-align:right}.ws-tasks-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto}.ws-task-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);transition:all .15s}.ws-task-item:hover{background:var(--bg-hover)}.ws-task-item.done{opacity:.5}.ws-task-item.done .ws-task-title{text-decoration:line-through}.ws-task-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px}.ws-task-check.checked{background:#66ae45;border-color:#66ae45}.ws-task-title{font-size:12px;font-weight:500}.ws-task-due{font-size:12px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:6px}.ws-badge-overdue{background:#ed1b2f26;color:#ed1b2f;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700}.ws-badge-tomorrow{background:#f8952126;color:#cb7c29;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700}.ws-docs-card{margin-bottom:40px}.ws-doc-tabs{display:flex;gap:4px}.ws-tab-btn{padding:5px 14px;border:1px solid var(--border);background:transparent;border-radius:20px;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s}.ws-tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ws-tab-btn:hover:not(.active){border-color:var(--accent);color:var(--text-primary)}.ws-docs-list{display:flex;flex-direction:column;gap:4px}.ws-doc-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);transition:background .15s;cursor:pointer}.ws-doc-row:hover{background:var(--bg-hover)}.ws-doc-row.nested{padding-left:28px}.ws-doc-icon{font-size:20px;flex-shrink:0}.ws-doc-name{font-size:12px;font-weight:500}.ws-doc-meta{font-size:12px;color:var(--text-muted);margin-top:1px}.ws-meeting-select-wrap{padding:8px 0 12px}.ws-meeting-select{width:100%;font-weight:500}.ws-folder-tree{display:flex;flex-direction:column;gap:4px}.ws-folder-group{border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.ws-folder-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-base);font-size:12px;font-weight:600}.ws-folder-count{font-size:12px;color:var(--text-muted);font-weight:400}.ws-folder-files{display:flex;flex-direction:column}.ws-doc-fav-badge{font-size:14px;flex-shrink:0}.ws-doc-row.clickable{cursor:pointer}.pdf-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease}.pdf-modal{width:95vw;max-width:1200px;height:92vh;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.pdf-toolbar-left{display:flex;align-items:center;flex:1;min-width:0}.pdf-filename{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-toolbar-center{display:flex;align-items:center;gap:6px;flex-shrink:0}.pdf-toolbar-right{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.pdf-btn{padding:6px 10px;border-radius:var(--radius-sm);font-size:14px;color:var(--text-muted);background:transparent;border:1px solid transparent;transition:all .15s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}.pdf-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.pdf-btn:disabled{opacity:.4;cursor:not-allowed}.pdf-close-btn{font-size:18px;font-weight:700;padding:4px 8px}.pdf-close-btn:hover{color:var(--red)!important}.pdf-fav-btn.active{color:#f89521;background:#f895211f;border-color:#f895214d}.pdf-highlight-btn.active{color:var(--accent);background:var(--accent-muted);border-color:#2f81f74d}.pdf-page-input{width:48px;padding:3px 6px;text-align:center;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px}.pdf-page-info{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}.pdf-zoom-info{font-size:12px;font-weight:500;color:var(--text-muted);min-width:36px;text-align:center}.pdf-divider{width:1px;height:20px;background:var(--border);margin:0 4px}.pdf-highlights-bar{display:flex;align-items:center;gap:6px;padding:6px 16px;background:#2f81f70f;border-bottom:1px solid var(--border-light);flex-wrap:wrap;flex-shrink:0}.pdf-highlights-label{font-size:12px;color:var(--text-muted);font-weight:500}.pdf-highlight-chip{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;background:var(--accent-muted);color:var(--accent);border:1px solid transparent;cursor:pointer;transition:all .15s}.pdf-highlight-chip:hover,.pdf-highlight-chip.current{background:var(--accent);color:#fff}.pdf-content{flex:1;overflow:auto;display:flex;justify-content:center;padding:20px;background:var(--bg-base)}.pdf-loading{display:flex;align-items:center;justify-content:center;padding:40px;font-size:16px;color:var(--text-muted)}.pdf-page-wrapper{position:relative;box-shadow:0 2px 12px #0000004d;border-radius:4px;overflow:hidden}.pdf-page-wrapper.highlighted{box-shadow:0 0 0 3px var(--accent),0 2px 12px #0000004d}.pdf-page-wrapper.highlighted:after{content:"🔖";position:absolute;top:8px;right:8px;font-size:24px;z-index:5}@media(max-width:1100px){.ws-main-grid{grid-template-columns:1fr}.ws-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.ws-stats-grid{grid-template-columns:1fr}.ws-highlight-banner{flex-direction:column;text-align:center}.ws-highlight-meta{justify-content:center}.pdf-toolbar{flex-direction:column;gap:6px}.pdf-toolbar-left,.pdf-toolbar-right{justify-content:center}.pdf-modal{width:100vw;height:100vh;border-radius:0}}.roles-page{padding:0}.roles-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.roles-page .page-header h1{font-size:22px;font-weight:700;margin:0}.roles-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;min-height:calc(100vh - 160px)}.roles-list-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px;overflow-y:auto}.roles-list-panel h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-muted)}.roles-list{display:flex;flex-direction:column;gap:8px}.role-card{padding:14px;border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);background:var(--bg-surface);transition:all .15s ease}.role-card:hover{border-color:var(--primary);background:#0d47a10a}.role-card.active{border-color:var(--primary);background:#0d47a114;box-shadow:0 0 0 3px #0d47a11f}.role-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.role-name{font-weight:600;font-size:14px}.badge-system{background:#f89521;color:#fff;font-size:12px;padding:2px 6px;border-radius:10px;font-weight:500}.badge-default{background:#66ae45;color:#fff;font-size:12px;padding:2px 6px;border-radius:10px;font-weight:500}.role-card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.role-code{font-size:12px;font-weight:500;color:var(--text-muted);font-family:monospace;background:var(--bg-card);padding:2px 6px;border-radius:4px}.role-users{font-size:12px;font-weight:500;color:var(--text-muted)}.role-card-perms{font-size:12px;font-weight:500;color:var(--primary)}.role-card-actions{display:flex;gap:4px;margin-top:8px;justify-content:flex-end}.role-card-actions .btn-sm{padding:4px 8px;font-size:12px;font-weight:500;min-width:unset}.role-card-actions .btn-danger{background:#ed1b2f;color:#fff;border:none;border-radius:var(--radius-sm)}.roles-detail-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px;overflow-y:auto}.perm-matrix-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.perm-matrix-header h3{font-size:16px;font-weight:600;margin:0}.perm-matrix{display:flex;flex-direction:column;gap:16px}.perm-module{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.perm-module-header{padding:10px 14px;font-weight:600;font-size:14px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.perm-items{padding:8px 14px}.perm-item{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03)}.perm-item:last-child{border-bottom:none}.perm-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.perm-name{font-size:14px;flex:1}.perm-code{font-size:12px;font-weight:500;color:var(--text-muted);font-family:monospace;background:var(--bg-card);padding:2px 6px;border-radius:4px}.role-form-card{max-width:480px}.role-form-card h3{font-size:16px;font-weight:600;margin-bottom:16px}.role-form-card .form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.perm-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-muted)}.placeholder-icon{font-size:48px;margin-bottom:12px;opacity:.4}.perm-placeholder p{font-size:14px}@media(max-width:768px){.roles-layout{grid-template-columns:1fr}}.ws-tasks-page{display:flex;flex-direction:column;flex:1;overflow:hidden;background:var(--bg-base);margin:-28px -32px}.ws-tasks-toolbar{padding:24px 32px 20px;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.ws-tasks-title{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.ws-tasks-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:14px}.ws-tasks-content{flex:1;overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.ws-tasks-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ws-tasks-stat-card{background:var(--bg-card);padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;align-items:center;gap:13px;transition:border-color .2s,box-shadow .2s}.ws-tasks-stat-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-sm)}.ws-tasks-stat-icon{width:42px;height:42px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ws-tasks-stat-icon--blue{background:#0070ce14}.ws-tasks-stat-icon--green{background:#66ae4514}.ws-tasks-stat-icon--orange{background:#f8952114}.ws-tasks-stat-icon--red{background:#ed1b2f14}.ws-tasks-stat-value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.15}.ws-tasks-stat-label{font-size:12px;color:var(--text-muted);font-weight:500;line-height:1.35}.ws-tasks-two-col{display:flex;gap:28px;align-items:flex-start}.ws-tasks-sidebar{width:350px;flex-shrink:0;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ws-tasks-sidebar-header{padding:18px 18px 14px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.ws-tasks-sidebar-title{font-weight:700;font-size:14px;margin:0 0 12px;color:var(--text-primary)}.ws-tasks-sidebar-search{width:100%;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:12px;outline:none;transition:border-color .15s;box-sizing:border-box}.ws-tasks-sidebar-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-muted)}.ws-tasks-sidebar-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;max-height:600px}.ws-tasks-sidebar-empty{text-align:center;color:var(--text-muted);font-size:12px;padding:32px 0}.ws-tasks-conclusion-item{padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;transition:all .15s ease}.ws-tasks-conclusion-item:hover{border-color:var(--primary-border);box-shadow:var(--shadow-sm)}.ws-tasks-conclusion-item.active{background:#0d47a10f;border-color:var(--primary-border);box-shadow:0 0 0 2px #0d47a11f}.ws-tasks-conclusion-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.ws-tasks-conclusion-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4}.ws-tasks-conclusion-item.active .ws-tasks-conclusion-name{color:var(--primary)}.ws-tasks-count-badge{flex-shrink:0;font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;min-width:22px;text-align:center;background:var(--bg-base);color:var(--text-muted);border:1px solid var(--border)}.ws-tasks-count-badge.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ws-tasks-conclusion-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ws-tasks-conclusion-ref{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--bg-base);color:var(--text-muted)}.ws-tasks-conclusion-item.active .ws-tasks-conclusion-ref{background:#0d47a11a;color:var(--primary)}.ws-tasks-conclusion-date{font-size:12px;color:var(--text-muted);font-weight:500}.ws-tasks-table-panel{flex:1;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;min-width:0}.ws-tasks-table-header{padding:18px 20px;border-bottom:1px solid var(--border);background:var(--bg-surface);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.ws-tasks-table-title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.ws-tasks-table-subtitle{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.ws-tasks-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.ws-tasks-actions .ant-btn{height:40px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;transition:all .2s}.ws-tasks-actions .ant-btn:hover{transform:translateY(-1px)}.ws-tasks-actions .ant-btn-primary{box-shadow:0 4px 16px #0d47a140}.ws-tasks-table-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ws-tasks-table-search{padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:12px;width:220px;outline:none;transition:border-color .15s}.ws-tasks-table-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-muted)}.ws-tasks-table-select{padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);font-size:12px;width:170px;outline:none;cursor:pointer;transition:border-color .15s}.ws-tasks-table-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-muted)}.ws-tasks-table-body{overflow-x:auto;min-height:400px}.ws-tasks-table-body .ant-table-thead>tr>th,.ws-tasks-colhead .ant-table-thead>tr>th{vertical-align:top}.ws-tasks-table-body .ant-table-wrapper .ant-table-thead>tr>th,.ws-tasks-colhead.ant-table-wrapper .ant-table-thead>tr>th{font-size:14px;font-weight:700;letter-spacing:.2px;text-transform:uppercase}.ws-tasks-table{width:100%;border-collapse:collapse;text-align:left}.ws-tasks-table thead tr{background:var(--bg-surface);border-bottom:1px solid var(--border)}.ws-tasks-table th{padding:12px 18px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ws-tasks-th-stt{text-align:center;width:56px}.ws-tasks-th-content{width:30%}.ws-tasks-th-report{width:22%}.ws-tasks-row{cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-light)}.ws-tasks-row:hover{background:var(--bg-hover)}.ws-tasks-table td{padding:14px 18px;font-size:14px;vertical-align:top}.ws-tasks-td-stt{text-align:center;color:var(--text-muted);font-weight:500}.ws-tasks-td-content{color:var(--text-primary);font-weight:500;line-height:1.5}.ws-tasks-subtask-badge{font-size:12px;color:var(--text-subtle);margin-left:6px}.ws-tasks-dept-badge{font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-base);padding:3px 10px;border-radius:var(--radius-sm)}.ws-tasks-deadline{font-size:12px;color:var(--text-secondary)}.ws-tasks-deadline.overdue{color:var(--error);font-weight:600}.ws-tasks-report-text{background:var(--bg-surface);border:1px solid var(--border-light);padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;line-height:1.5;font-style:italic;color:var(--text-secondary)}.ws-tasks-text-muted{color:var(--text-disabled)}.ws-tasks-text-italic{font-style:italic}.ws-task-badge{padding:3px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap}.ws-task-badge-pending{background:var(--bg-base);color:var(--text-muted);border:1px solid var(--border)}.ws-task-badge-progress{background:#0070ce14;color:#0070ce;border:1px solid rgba(0,112,206,.2)}.ws-task-badge-done{background:#66ae4514;color:#66ae45;border:1px solid rgba(102,174,69,.2)}.ws-task-badge-overdue{background:#ed1b2f14;color:#ed1b2f;border:1px solid rgba(237,27,47,.2)}.ws-tasks-empty-cell{padding:60px 20px!important;text-align:center}.ws-tasks-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center}.ws-tasks-empty-icon{font-size:40px;opacity:.3;margin-bottom:8px}.ws-tasks-empty-title{font-weight:600;color:var(--text-secondary);margin-bottom:4px}.ws-tasks-empty-hint{font-size:12px;color:var(--text-muted)}.ws-tasks-pagination{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted);background:var(--bg-surface)}.ws-tasks-pagination-btns{display:flex;gap:4px}.ws-tasks-page-btn{padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s}.ws-tasks-page-btn:hover:not(:disabled){background:var(--bg-card)}.ws-tasks-page-btn.active{background:var(--bg-card);color:var(--primary);border-color:var(--primary);font-weight:600}.ws-tasks-page-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1200px){.ws-tasks-two-col{flex-direction:column}.ws-tasks-sidebar{width:100%}.ws-tasks-sidebar-list{max-height:300px}}@media(max-width:768px){.ws-tasks-stats-grid{grid-template-columns:repeat(2,1fr)}.ws-tasks-content{padding:16px;gap:16px}.ws-tasks-toolbar{flex-direction:column;gap:12px;align-items:flex-start;padding:16px}.ws-tasks-table-header{flex-direction:column}}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tasks-header h1{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.tasks-header p{margin:4px 0 0;color:var(--text-muted);font-size:14px}.tasks-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:24px}.task-stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:16px;text-align:center;border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}.task-stat-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-sm)}.task-stat-value{font-size:22px;font-weight:700}.task-stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.tasks-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.tasks-search{padding:8px 14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:12px;min-width:220px;outline:none;transition:border-color .15s}.tasks-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-muted)}.tasks-search::placeholder{color:var(--text-subtle)}.tasks-filter-sep{width:1px;height:24px;background:var(--border)}.tasks-filter-group-label{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.filter-btn{padding:6px 14px;border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;background:transparent;color:var(--text-secondary)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tasks-list{display:flex;flex-direction:column;gap:8px}.task-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;border:1px solid var(--border-light);transition:background .2s,border-color .2s,box-shadow .2s;cursor:pointer;border-left:3px solid transparent}.task-card:hover{background:var(--bg-hover);border-color:var(--border);box-shadow:var(--shadow-sm)}.task-card-body{display:flex;align-items:center;gap:12px;flex:1}.task-toggle-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:0;line-height:1}.task-title{font-weight:600;color:var(--text-primary);font-size:14px}.task-title.completed{text-decoration:line-through;color:var(--text-muted)}.task-subtask-count{font-size:12px;color:var(--text-subtle)}.task-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.task-badge{padding:1px 8px;border-radius:12px;color:#fff;font-size:12px;font-weight:500}.task-badge-type{padding:1px 8px;border-radius:12px;font-size:12px;font-weight:500;background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border-light)}.task-meta-text{font-size:12px;color:var(--text-muted)}.task-meta-text.overdue{color:var(--error);font-weight:500}.task-progress{width:80px;text-align:right}.task-progress-text{font-size:12px;font-weight:600}.task-progress-bar{height:4px;border-radius:2px;background:var(--border-light);margin-top:4px}.task-progress-fill{height:100%;border-radius:2px;transition:width .3s}.task-priority{font-size:12px;color:var(--text-subtle)}.task-priority.high{color:var(--error)}.task-delete-btn{background:none;border:none;cursor:pointer;color:var(--text-disabled);font-size:14px;padding:4px;border-radius:var(--radius-sm);opacity:0;transition:opacity .15s,color .15s,background .15s}.task-card:hover .task-delete-btn{opacity:1}.task-delete-btn:hover{color:var(--error);background:var(--error-bg)}.tasks-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.tasks-empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.tasks-empty p{font-size:14px;margin-bottom:16px}.tasks-empty .btn{margin-top:8px}.tasks-loading{text-align:center;padding:60px;color:var(--text-muted)}.task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.task-modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:28px;width:560px;max-width:90vw;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.task-modal h2{margin:0 0 20px;font-size:18px;color:var(--text-primary)}.task-modal-form{display:flex;flex-direction:column;gap:14px}.task-modal-input{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:14px;box-sizing:border-box;outline:none;transition:border-color .15s}.task-modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-muted)}.task-modal-input::placeholder{color:var(--text-subtle)}textarea.task-modal-input{min-height:80px;resize:vertical}.task-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-modal-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.task-modal-error{font-size:12px;color:var(--error);margin-top:-6px}.task-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.task-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .15s ease}.task-drawer{width:560px;max-width:100vw;background:var(--bg-surface);height:100vh;display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000001f;overflow-y:auto;animation:slideRight .2s ease}@keyframes slideRight{0%{transform:translate(100%);opacity:0}to{transform:none;opacity:1}}.task-drawer-header{padding:16px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;position:sticky;top:0;background:var(--bg-surface);z-index:1}.task-drawer-header h2{margin:0;font-size:18px;flex:1;color:var(--text-primary)}.task-drawer-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s,color .15s}.task-drawer-close:hover{background:var(--bg-base);color:var(--text-primary)}.task-drawer-status{padding:12px 24px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.task-drawer-badge{padding:2px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:500}.task-drawer-date{font-size:12px;color:var(--text-muted)}.task-drawer-date.overdue{color:var(--error);font-weight:500}.task-drawer-progress{padding:0 24px 12px}.task-drawer-progress-header{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px;color:var(--text-secondary)}.task-drawer-progress-header span:last-child{font-weight:600;color:var(--text-primary)}.task-drawer-progress-bar{height:8px;border-radius:4px;background:var(--border-light)}.task-drawer-progress-fill{height:100%;border-radius:4px;transition:width .3s}.task-drawer-tabs{display:flex;border-bottom:1px solid var(--border-light);padding:0 24px}.task-drawer-tab{background:none;border:none;padding:10px 16px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.task-drawer-tab:hover{color:var(--text-primary)}.task-drawer-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.task-drawer-content{padding:24px;overflow-y:auto;flex:1}.task-drawer-desc{color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.task-info-grid{margin-top:12px}.task-info-row{display:flex;padding:6px 0;border-bottom:1px solid var(--border-light)}.task-info-label{width:140px;color:var(--text-muted);font-size:12px;flex-shrink:0}.task-info-value{color:var(--text-primary);font-size:12px}.task-subtasks{margin-top:16px}.task-subtasks h4{color:var(--text-muted);font-size:14px;margin-bottom:8px}.task-subtask-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:14px;color:var(--text-primary)}.task-actions-section{margin-top:24px}.task-action-note{width:100%;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:12px;resize:vertical;box-sizing:border-box;outline:none;transition:border-color .15s}.task-action-note:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-muted)}.task-action-note::placeholder{color:var(--text-subtle)}.task-progress-control{display:flex;align-items:center;gap:8px;margin-top:8px}.task-progress-control input[type=range]{flex:1;accent-color:var(--primary)}.task-progress-control span{font-size:12px;color:var(--text-secondary);min-width:35px}.task-action-btn{padding:6px 14px;border-radius:var(--radius-md);color:#fff;border:none;cursor:pointer;font-size:12px;font-weight:500;transition:opacity .15s,transform .1s}.task-action-btn:hover{opacity:.9}.task-action-btn:active{transform:scale(.97)}.task-action-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.task-action-group-section{display:flex;gap:8px;flex-wrap:wrap}.task-action-group-section+.task-action-group-section{padding-left:8px;border-left:1px solid var(--border-light)}.task-inline-form{margin-top:12px;padding:12px;background:var(--bg-base);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.task-inline-form label{font-size:12px;color:var(--text-muted);display:block;margin-bottom:4px}.task-inline-form input,.task-inline-form select{width:100%;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:12px;box-sizing:border-box;outline:none;transition:border-color .15s}.task-inline-form input:focus,.task-inline-form select:focus{border-color:var(--primary)}.task-inline-form input+input,.task-inline-form input+select,.task-inline-form select+input{margin-top:8px}.task-inline-form .task-action-btn{margin-top:8px}.task-comment-input{display:flex;gap:8px;margin-bottom:16px}.task-comment-input input{flex:1;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font-size:12px;outline:none;transition:border-color .15s}.task-comment-input input:focus{border-color:var(--primary)}.task-comment-input input::placeholder{color:var(--text-subtle)}.task-comment-item{padding:12px 0;border-bottom:1px solid var(--border-light)}.task-comment-header{display:flex;justify-content:space-between;align-items:center}.task-comment-author{font-weight:600;color:var(--text-primary);font-size:14px}.task-comment-type{padding:1px 6px;border-radius:8px;background:var(--bg-base);color:var(--text-muted);font-size:12px;margin-left:8px;border:1px solid var(--border-light)}.task-comment-time{font-size:12px;color:var(--text-subtle)}.task-comment-recall{font-size:12px;color:var(--warning);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:background .15s}.task-comment-recall:hover{background:var(--warning-bg)}.task-comment-content{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.task-comment-content.recalled{color:var(--text-disabled);font-style:italic}.task-comment-meta{font-size:12px;margin-top:4px}.task-comment-empty{color:var(--text-subtle);text-align:center;padding:20px 0}.task-file-upload{display:inline-block;cursor:pointer}.task-file-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-light)}.task-file-link{color:var(--primary);text-decoration:none;font-size:14px}.task-file-link:hover{text-decoration:underline}.task-file-meta{font-size:12px;color:var(--text-subtle)}.task-file-delete{color:var(--text-disabled);background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color .15s,background .15s}.task-file-delete:hover{color:var(--error);background:var(--error-bg)}.task-file-empty{color:var(--text-subtle);text-align:center;padding:20px 0}@media(max-width:768px){.tasks-page{padding:16px}.tasks-filters{gap:6px}.tasks-search{min-width:160px}.task-modal{padding:20px;width:100%}.task-drawer{width:100vw}.task-modal-grid{grid-template-columns:1fr}}.reporting-page h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.reporting-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.reporting-filter-bar{display:flex;align-items:center;gap:12px}.reporting-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.reporting-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 20px 12px}.reporting-chart-card h4{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:14px}.leader-layout{display:flex;gap:20px;align-items:flex-start}.leader-profile-card{width:260px;min-width:260px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px 20px;display:flex;flex-direction:column;align-items:center}.leader-avatar{width:72px;height:72px;border-radius:50%;background:var(--primary-600);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin-bottom:12px;border:2px solid var(--primary-border)}.leader-name{font-size:16px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:4px}.leader-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:16px}.leader-stat-box{background:var(--bg-base);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:10px;text-align:center}.leader-stat-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.leader-stat-value{display:block;font-size:20px;font-weight:700;color:var(--text-primary)}@media(max-width:900px){.reporting-charts-grid{grid-template-columns:1fr}.leader-layout{flex-direction:column}.leader-profile-card{width:100%;min-width:auto}.reporting-header{flex-direction:column;align-items:flex-start;gap:12px}}.mt-task-dashboard{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.mt-task-stat{background:var(--bg-base);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px;text-align:center}.mt-task-stat-value{font-size:22px;font-weight:700;line-height:1}.mt-task-stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.mt-task-list{display:flex;flex-direction:column;gap:8px}.mt-task-card{border-radius:var(--radius-md);border:1px solid var(--border-light);border-left:4px solid var(--primary);background:var(--bg-surface);cursor:pointer;transition:box-shadow .15s,transform .1s}.mt-task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.mt-task-card-body{display:flex;align-items:center;padding:12px 14px;gap:12px}.mt-task-title{font-weight:600;font-size:14px;color:var(--text-primary)}.mt-task-subtask-badge{font-size:12px;color:var(--text-muted);background:var(--bg-base);padding:1px 6px;border-radius:8px}.mt-task-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;align-items:center}.mt-task-status-badge{padding:1px 8px;border-radius:10px;color:#fff;font-size:12px;font-weight:500}.mt-task-priority{font-size:12px;color:var(--text-subtle)}.mt-task-priority.high{color:var(--error);font-weight:500}.mt-task-meta-text{font-size:12px;color:var(--text-muted)}.mt-task-meta-text.overdue{color:var(--error);font-weight:600}.mt-task-progress{width:70px;text-align:right;flex-shrink:0}.mt-task-progress-text{font-size:12px;font-weight:700}.mt-task-progress-bar{height:4px;border-radius:2px;background:var(--border-light);margin-top:4px}.mt-task-progress-fill{height:100%;border-radius:2px;transition:width .3s}.mt-task-filters{display:flex;gap:4px;margin-bottom:16px;padding:3px;background:var(--bg-base);border-radius:var(--radius-md);border:1px solid var(--border-light)}.mt-task-filter-btn{flex:1;padding:7px 12px;border:none;background:none;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s;white-space:nowrap}.mt-task-filter-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.mt-task-filter-btn.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0000001f}.mt-task-filter-btn .filter-count{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;font-size:12px;font-weight:600;border-radius:8px;margin-left:4px;background:#fff3}.mt-task-filter-btn:not(.active) .filter-count{background:var(--border-light);color:var(--text-muted)}.mt-dept-stats{margin-bottom:16px;padding:14px;background:var(--bg-base);border-radius:var(--radius-md);border:1px solid var(--border-light)}.mt-dept-stats-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.mt-dept-row{display:flex;align-items:center;gap:10px;padding:5px 0}.mt-dept-name{width:120px;font-size:12px;color:var(--text-secondary);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-dept-bar{flex:1;height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.mt-dept-bar-fill{height:100%;border-radius:3px;background:var(--primary);transition:width .3s}.mt-dept-pct{font-size:12px;font-weight:600;color:var(--text-muted);width:36px;text-align:right;flex-shrink:0}.mt-task-quick-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.mt-task-card:hover .mt-task-quick-actions{opacity:1}.mt-task-quick-btn{width:28px;height:28px;border:none;background:var(--bg-base);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s,transform .1s}.mt-task-quick-btn:hover{background:var(--bg-hover);transform:scale(1.1)}.mt-task-quick-btn.danger:hover{background:#ed1b2f1a}.mt-task-conclusion-label{font-size:12px;background:#7a5af81f;color:var(--primary-400);padding:1px 6px;border-radius:4px;white-space:nowrap}.mt-conclusion-list{display:flex;flex-direction:column;gap:10px}.mt-conclusion-card{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-surface);padding:14px 16px;transition:box-shadow .15s}.mt-conclusion-card:hover{box-shadow:var(--shadow-sm)}.mt-conclusion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.mt-conclusion-content{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;flex:1}.mt-conclusion-actions{display:flex;gap:4px;flex-shrink:0;margin-left:12px}.mt-conclusion-action-btn{width:30px;height:30px;border:none;background:var(--bg-base);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s}.mt-conclusion-action-btn:hover{background:var(--bg-hover)}.mt-conclusion-action-btn.danger:hover{background:#ed1b2f1a}.mt-conclusion-footer{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.mt-conclusion-badge{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.mt-conclusion-badge.draft{background:var(--gray-muted);color:var(--text-muted)}.mt-conclusion-badge.published{background:var(--green-muted);color:var(--green)}.mt-conclusion-task-count{font-size:12px;color:var(--text-muted)}.mt-conclusion-form{padding:16px;background:var(--bg-surface);border:1px dashed var(--primary);border-radius:var(--radius-md);margin-bottom:14px}.mt-conclusion-form-title{font-weight:600;margin-bottom:12px;color:var(--primary)}@media(max-width:768px){.mt-task-dashboard{grid-template-columns:repeat(3,1fr)}.mt-task-card-body{flex-direction:column;align-items:flex-start}.mt-task-progress{width:100%;text-align:left;margin-top:6px}.mt-task-filters{overflow-x:auto}.mt-task-filter-btn{flex:0 0 auto}.mt-task-quick-actions{opacity:1}.mt-dept-name{width:80px}.mt-conclusion-header{flex-direction:column;gap:8px}.mt-conclusion-actions{margin-left:0}}.ws-layout{display:flex;min-height:100vh}.ws-main{flex:1;min-width:0;display:flex;flex-direction:column;transition:margin-left .3s ease}.ws-page-content{flex:1;overflow-y:auto;padding:28px 32px;padding-top:calc(var(--topbar-h) + 28px)}.ws-sidebar{position:fixed;left:0;top:0;bottom:0;width:256px;background:var(--bg-surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;justify-content:space-between;z-index:100;transition:width .3s ease;box-shadow:2px 0 8px #00000008}.ws-sidebar.collapsed{width:80px}.ws-sidebar-logo{height:var(--topbar-h);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-light);padding:0 20px;flex-shrink:0;overflow:hidden}.ws-sidebar.collapsed .ws-sidebar-logo{justify-content:center;padding:0}.ws-sidebar-logo-icon{width:32px;height:32px;background:var(--primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ws-logo-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:6px;width:100%;height:100%}.ws-logo-grid span{background:#fff;border-radius:1px}.ws-sidebar-logo-title{font-weight:700;font-size:16px;color:var(--text-primary);line-height:1.3;white-space:nowrap}.ws-sidebar-logo-sub{font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap}.ws-sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:20px 0;overflow-y:auto}.ws-sidebar-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 4px 0 0;border-radius:0 24px 24px 0;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;text-decoration:none;border-left:4px solid transparent}.ws-sidebar-item.collapsed{justify-content:center;padding:12px;margin:0 12px;border-radius:12px;border-left:none}.ws-sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-sidebar-item.active{background:var(--primary-bg);color:var(--primary);font-weight:500;border-left-color:var(--primary)}.ws-sidebar-item.active.collapsed{border-left-color:transparent}.ws-sidebar-item-inner{display:flex;align-items:center;gap:12px}.ws-sidebar-item-icon{flex-shrink:0;color:var(--text-disabled)}.ws-sidebar-item:hover .ws-sidebar-item-icon{color:var(--text-secondary)}.ws-sidebar-item.active .ws-sidebar-item-icon{color:var(--primary)}.ws-sidebar-item-label{font-size:14px;white-space:nowrap}.ws-sidebar-item-badge{background:var(--primary);color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm)}.ws-logo-emblem{width:40px;height:40px;object-fit:contain;flex-shrink:0}.ws-logo-emblem-fallback{width:40px;height:40px;background:linear-gradient(135deg,#c80029,#b21f24);border-radius:50%;align-items:center;justify-content:center;font-size:22px;color:#fcba63;flex-shrink:0}.ws-sidebar-item-expandable{background:transparent;border:none;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:inherit;text-align:left}.ws-sidebar-item-expandable.has-active{color:var(--text-primary);font-weight:500}.ws-sidebar-submenu{padding:2px 0 4px;margin-left:30px}.ws-sidebar-sublink{padding:8px 14px!important;font-size:14px!important}.ws-sidebar-sublink .ws-sidebar-item-icon{width:14px;height:14px}.ws-sidebar-sublink .ws-sidebar-item-label{font-size:14px}.ws-sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;font-size:12px;font-weight:600;line-height:1;flex-shrink:0;margin-left:auto}.ws-sidebar-badge-red{background:var(--error);color:#fff}.ws-sidebar-badge-grey{background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border-light)}.ws-sidebar-footer{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-light)}.ws-sidebar.collapsed .ws-sidebar-footer{justify-content:center}.ws-sidebar-version{font-size:12px;font-weight:500;color:var(--text-disabled)}.ws-sidebar-toggle{padding:6px;border-radius:var(--radius-md);color:var(--text-muted);transition:all .15s}.ws-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-header-v2{position:fixed;top:0;right:0;height:var(--topbar-h);background:var(--bg-surface);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:99;transition:left .3s ease}.ws-header-breadcrumb{display:flex;align-items:center;font-size:14px;color:var(--text-muted)}.ws-breadcrumb-link{cursor:pointer;transition:color .15s}.ws-breadcrumb-link:hover{color:var(--primary)}.ws-breadcrumb-sep{margin:0 8px;color:var(--border)}.ws-breadcrumb-current{color:var(--text-primary);font-weight:500}.ws-header-actions{display:flex;align-items:center;gap:20px}.ws-header-search{position:relative}.ws-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-disabled)}.ws-search-input{width:320px;padding:8px 16px 8px 40px;background:var(--bg-base);border:1px solid transparent;border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);outline:none;transition:all .2s}.ws-search-input:focus{background:var(--bg-surface);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.ws-search-input::placeholder{color:var(--text-subtle)}.ws-header-divider{width:1px;height:28px;background:var(--border-light)}.ws-header-user-dropdown{position:relative}.ws-header-user{display:flex;align-items:center;gap:12px;cursor:pointer;padding:4px;border-radius:var(--radius-md);transition:background .15s}.ws-header-user:hover{background:var(--bg-hover)}.ws-header-user-info{text-align:right}.ws-header-user-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.ws-header-user-role{font-size:12px;font-weight:500;color:var(--text-muted)}.ws-header-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:1px solid var(--primary-border);flex-shrink:0;overflow:hidden}.ws-header-user-avatar img{width:100%;height:100%;object-fit:cover}.ws-dashboard-v2{max-width:1400px;margin:0 auto}.ws-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.ws-stat-v2{background:var(--bg-card);padding:20px 24px;border-radius:12px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow .2s}.ws-stat-v2:hover{box-shadow:var(--shadow-md)}.ws-stat-v2-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.ws-stat-v2-title{font-size:14px;color:var(--text-secondary);font-weight:600}.ws-stat-v2-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;position:relative}.ws-stat-v2-alert{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:var(--error);border:2px solid white;border-radius:50%}.ws-stat-v2-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:8px}.ws-stat-v2-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1}.ws-stat-v2-sub{font-size:14px;font-weight:500}.ws-banner-v2{background:linear-gradient(120deg,var(--primary-600) 0%,var(--primary-800) 62%,var(--primary-900) 100%);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:28px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--primary-800)}.ws-banner-blob{position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(80px);pointer-events:none}.ws-banner-blob-1{top:-160px;right:-160px;background:#ffffff24}.ws-banner-blob-2{bottom:-160px;left:-160px;background:#039ff647}.ws-banner-left{position:relative;z-index:1}.ws-banner-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px}.ws-banner-live-tag{display:inline-flex;align-items:center;gap:8px;background:#ffffff29;border:1px solid rgba(255,255,255,.35);color:var(--color-white);font-size:12px;font-weight:700;padding:5px 12px;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ws-banner-live-dot{width:8px;height:8px;background:var(--error-400);border-radius:50%;animation:ws-pulse-dot 1.5s ease-in-out infinite;box-shadow:0 0 8px #ed1b2fd9}.ws-banner-time{display:flex;align-items:center;gap:6px;color:var(--primary-150);font-size:14px;font-weight:500}.ws-banner-title{font-size:26px;font-weight:700;color:var(--color-white);margin-bottom:8px;letter-spacing:-.02em}.ws-banner-subtitle{color:var(--primary-150);font-size:14px;font-weight:500}.ws-banner-right{display:flex;flex-direction:column;align-items:flex-end;gap:20px;position:relative;z-index:1}.ws-banner-timer-block{text-align:right}.ws-banner-timer-label{font-size:12px;color:var(--primary-200);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:4px}.ws-banner-timer{font-size:28px;font-weight:700;font-family:SF Mono,Fira Code,monospace;color:var(--color-white);letter-spacing:.02em}.ws-banner-actions{display:flex;gap:12px}.ws-banner-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:var(--radius-md);font-size:14px;font-weight:600;transition:all .2s;text-decoration:none}.ws-banner-btn-primary{background:var(--color-white);color:var(--primary-700);box-shadow:var(--shadow-md)}.ws-banner-btn-primary:hover{background:var(--primary-000);color:var(--primary-800)}.ws-banner-btn-ghost{background:#ffffff1f;border:1px solid rgba(255,255,255,.3);color:var(--color-white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ws-banner-btn-ghost:hover{background:#ffffff38;color:var(--color-white)}.ws-grid-v2{display:grid;grid-template-columns:3fr 2fr;gap:28px}.ws-grid-left,.ws-grid-right{display:flex;flex-direction:column;gap:24px}.ws-widget-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.ws-widget-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-divider)}.ws-widget-header-tabbed{padding:16px 20px 0}.ws-widget-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);display:flex;align-items:center;gap:10px;margin:0}.ws-widget-title svg{width:20px;height:20px;flex:none;color:var(--color-primary)}.ws-widget-title-icon{color:var(--primary)}.ws-icon-orange{color:#df8726}.ws-icon-blue{color:var(--primary)}.ws-widget-action-link{display:flex;align-items:center;gap:4px;color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-regular, 400);transition:opacity .15s}.ws-widget-action-link:hover{opacity:.8;text-decoration:underline}.ws-widget-action-btn{color:var(--text-disabled);padding:4px;border-radius:var(--radius-sm);transition:all .15s}.ws-widget-action-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.ws-widget-body{padding:20px 24px;flex:1}.ws-widget-footer{padding:14px 24px;border-top:1px solid var(--border-light);text-align:center}.ws-view-all-link{color:var(--primary);font-size:14px;font-weight:500}.ws-view-all-link:hover{text-decoration:underline}.ws-empty-text{color:var(--text-muted);font-size:14px;text-align:center;padding:20px 0}.ws-timeline{position:relative}.ws-timeline-item{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:background .12s}.ws-timeline-item:hover{background:var(--gray-100)}.ws-timeline-time{flex:none;min-width:52px;text-align:center;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--color-primary)}.ws-timeline-content{flex:1;min-width:0}.ws-timeline-title{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-timeline-meta{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-row-badge{display:inline-flex;align-items:center;gap:6px;flex:none;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);line-height:18px;font-weight:var(--fw-medium)}.ws-row-badge.is-blue{background:var(--info-100);color:var(--info-700)}.ws-row-badge.is-green{background:var(--success-000);color:var(--success-800)}.ws-row-badge.is-orange{background:var(--warning-050);color:var(--warning-800)}.ws-row-badge.is-red{background:var(--error-000);color:var(--error-600)}.ws-row-badge.is-gray{background:var(--gray-200);color:var(--gray-700)}.ws-row-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap}.ws-row-btn:hover{background:var(--primary-000)}.ws-row-btn:active{background:var(--primary-100)}.ws-badge-past{background:var(--success-bg);color:var(--success)}.ws-badge-current,.ws-badge-upcoming{background:var(--primary-bg);color:var(--primary)}.ws-week-dots{display:flex;gap:8px;justify-content:space-between}.ws-week-dot-day{display:flex;flex-direction:column;align-items:center;padding:12px;width:56px;border-radius:12px;border:1px solid transparent;transition:all .15s;cursor:pointer}.ws-week-dot-day:hover{background:var(--bg-hover)}.ws-week-dot-day.is-today{border-color:var(--primary-border);background:var(--primary-bg)}.ws-dot-day-label{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:8px}.ws-dot-day-label.is-today{color:var(--primary)}.ws-dot-day-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:600;color:var(--text-primary)}.ws-dot-day-number.is-today{background:var(--primary);color:#fff;font-weight:700;box-shadow:0 2px 8px #0d47a14d}.ws-dot-indicators{display:flex;gap:3px;margin-top:8px;height:6px}.ws-dot-indicator{width:6px;height:6px;border-radius:50%}.ws-task-icon-circle{width:22px;height:22px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ws-task-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0}.ws-task-row+.ws-task-row{border-top:1px solid var(--border-light);padding-top:12px;margin-top:4px}.ws-task-checkbox{margin-top:3px;width:16px;height:16px;border-radius:3px;border:1.5px solid var(--border);accent-color:var(--primary);cursor:pointer;flex-shrink:0}.ws-task-content{min-width:0}.ws-task-name{font-size:14px;font-weight:500;color:var(--text-primary);margin:0}.ws-task-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.ws-task-priority-badge{font-size:12px;font-weight:700;padding:2px 6px;border-radius:3px}.ws-task-priority-badge.high{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border)}.ws-task-due-text{font-size:12px;font-weight:500;color:var(--text-disabled)}.ws-opinion-badge{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#ffe293;color:#df8726;font-size:12px;font-weight:700;border-radius:50%}.ws-tier-head{display:flex;align-items:baseline;gap:12px;margin:6px 0 12px;padding-bottom:8px;border-bottom:1px solid #e8e9ea;flex-wrap:wrap}.ws-tier-title{font-size:16px;font-weight:800;color:var(--gray-900);display:inline-flex;align-items:center;gap:7px}.ws-tier-desc{font-size:12px;font-weight:500;color:var(--gray-600)}.ws-resp-badge{display:inline-flex;align-items:center;gap:3px;background:#ffe293;color:#b77029;border:1px solid #faa74a;font-size:12px;font-weight:600;padding:1px 7px;border-radius:10px;margin-left:6px;white-space:nowrap}.ws-opinion-item{padding-bottom:16px}.ws-opinion-item+.ws-opinion-item{padding-top:16px;border-top:1px solid var(--border-light)}.ws-opinion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.ws-opinion-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;padding-right:12px;line-height:1.4}.ws-opinion-urgent{font-size:12px;font-weight:700;color:var(--error);text-transform:uppercase;flex-shrink:0}.ws-opinion-meta{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:12px}.ws-opinion-detail-btn{width:100%;padding:8px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .15s}.ws-opinion-detail-btn:hover{background:var(--bg-hover)}.ws-doc-tabs-v2{display:flex;gap:24px;padding:0 24px;border-bottom:1px solid var(--border-light)}.ws-doc-tab{padding:12px 0;font-size:14px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:4px}.ws-doc-tab:hover{color:var(--text-secondary)}.ws-doc-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.ws-star-filled{fill:var(--primary);color:var(--primary)}.ws-star-empty{color:var(--text-disabled)}.ws-doc-table-header{display:flex;justify-content:space-between;padding:10px 24px;border-bottom:1px solid var(--border-light);font-size:12px;font-weight:600;color:var(--text-disabled);text-transform:uppercase;letter-spacing:.05em}.ws-doc-list-v2{padding:8px}.ws-doc-row-v2{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.ws-doc-row-v2:hover{background:var(--bg-hover)}.ws-doc-row-v2.nested{padding:8px 12px}.ws-doc-row-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.ws-doc-row-text{min-width:0}.ec-fi{display:inline-flex;align-items:center;justify-content:center;flex:none;font-family:var(--font-family-base);font-weight:var(--fw-bold);line-height:1;letter-spacing:.2px;color:var(--color-white);background:var(--gray-700);border-radius:var(--radius-md);box-sizing:border-box}.ec-fi-sm{min-width:24px;height:24px;font-size:12px;border-radius:var(--radius-sm)}.ec-fi-md{min-width:32px;height:32px;font-size:12px;border-radius:6px}.ec-fi-lg{min-width:38px;height:38px;font-size:12px}.ec-fi-xl{min-width:40px;height:40px;font-size:12px}.ec-fi-pdf{background:var(--error-600)}.ec-fi-doc{background:var(--info-600)}.ec-fi-xls{background:var(--success-700)}.ec-fi-ppt{background:var(--warning-600)}.ec-fi-img{background:var(--purple-600)}.ec-fi-media{background:var(--purple-800)}.ec-fi-zip,.ec-fi-txt,.ec-fi-file{background:var(--gray-700)}.ec-fi.ec-fi-dir{background:var(--primary-000);color:var(--primary-600)}.ant-upload-list-item .ant-upload-icon{display:inline-flex;align-items:center;height:auto}.ant-upload-list-item .ant-upload-icon .ec-fi{color:var(--color-white)}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item:has(.ec-fi){height:auto;min-height:28px;padding:2px 4px}.ws-doc-filename{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-doc-subtitle{font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-doc-size{font-size:12px;font-weight:500;color:var(--text-disabled);flex-shrink:0;display:flex;align-items:center;gap:6px}.ws-doc-fav{flex-shrink:0}.ws-empty-state-center{text-align:center;padding:24px;color:var(--text-muted);font-size:14px}.ws-by-meeting-content{padding:0 8px}.ws-meeting-select{margin-bottom:12px}@media(max-width:1200px){.ws-grid-v2{grid-template-columns:1fr}.ws-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.ws-stats-row{grid-template-columns:1fr}.ws-banner-v2{flex-direction:column;gap:20px;text-align:center;align-items:stretch}.ws-banner-right{align-items:center}.ws-banner-actions{justify-content:center}.ws-search-input{width:200px}.ws-header-v2{padding:0 16px}.ws-page-content{padding:16px;padding-top:calc(var(--topbar-h) + 16px)}.ws-week-dots{overflow-x:auto}}.ws-meetings-page{display:flex;flex-direction:column;gap:24px}.ws-meetings-toolbar{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-light);padding:24px 28px;box-shadow:var(--shadow-sm)}.ws-meetings-toolbar-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ws-meetings-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.ws-meetings-subtitle{font-size:14px;color:var(--text-muted);margin-top:4px}.ws-meetings-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:12px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;transition:all .2s;text-decoration:none;box-shadow:0 4px 16px #0d47a140}.ws-meetings-create-btn:hover{background:#0a3c8a;color:#fff;transform:translateY(-1px)}.ws-meetings-filters{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ws-meetings-filters-left{display:flex;gap:12px;flex-wrap:wrap;flex:1}.ws-meetings-search{position:relative;flex:1;max-width:320px}.ws-meetings-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-disabled)}.ws-meetings-search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg-surface);color:var(--text-primary);transition:border-color .2s}.ws-meetings-search-input:focus{border-color:var(--primary);outline:none}.ws-meetings-date-range{display:flex;align-items:center;gap:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:2px 10px}.ws-filter-icon{color:var(--text-disabled);flex-shrink:0}.ws-date-input{border:none;background:transparent;font-size:14px;color:var(--text-primary);padding:7px 4px;width:130px}.ws-date-input:focus{outline:none}.ws-date-sep{color:var(--text-disabled);font-size:12px;font-weight:500}.ws-meetings-status-filter{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:2px 10px}.ws-status-select{border:none;background:transparent;font-size:14px;color:var(--text-primary);padding:7px 4px;cursor:pointer}.ws-status-select:focus{outline:none}.ws-view-toggle{display:flex;gap:2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:3px}.ws-view-btn{padding:7px 12px;border-radius:8px;color:var(--text-muted);transition:all .15s;display:flex;align-items:center}.ws-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.ws-view-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #0d47a14d}.ws-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.ws-status-dot{width:7px;height:7px;border-radius:50%}.ws-status-red{background:#fde6eb;color:#c80029}.ws-dot-red{background:#c80029}.ws-dot-red.pulse{animation:ws-pulse-dot 1.5s ease-in-out infinite}.ws-status-blue{background:#e8f0fe;color:#0d47a1}.ws-dot-blue{background:#0d47a1}.ws-status-orange{background:#ffe293;color:#df8726}.ws-dot-orange{background:#df8726}.ws-status-green{background:#e7f1ea;color:#5ca044}.ws-dot-green{background:#5ca044}.ws-status-gray{background:#f3f4f5;color:#6f767e}.ws-dot-gray{background:#8c9198}.ws-status-purple{background:#f2effe;color:#6f52e2}.ws-dot-purple{background:#6f52e2}.ws-meetings-table-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden}.ws-meetings-table-wrap{overflow-x:auto}.ws-meetings-table{width:100%;border-collapse:collapse}.ws-meetings-table thead th{padding:14px 20px;text-align:left;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);text-transform:none;letter-spacing:normal;border-bottom:1px solid var(--border-light);background:var(--gray-200)}.ws-col-center{text-align:center!important}.ws-meetings-table tbody td{padding:16px 20px;border-bottom:1px solid var(--border-light);vertical-align:top}.ws-meetings-row{transition:background .15s}.ws-meetings-row:hover{background:var(--bg-hover)}.ws-meetings-date{font-size:14px;font-weight:600;color:var(--text-primary)}.ws-meetings-time{font-size:12px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-top:4px}.ws-meetings-name{font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;display:block}.ws-meetings-name:hover{text-decoration:underline}.ws-meetings-location{font-size:12px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-top:4px}.ws-meetings-host{display:flex;align-items:center;gap:8px}.ws-meetings-host-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-400));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.ws-meetings-attendees{font-size:12px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-top:4px}.ws-meetings-actions{display:flex;justify-content:center;gap:6px}.ws-action-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s;cursor:pointer;border:1px solid transparent}.ws-action-view{color:var(--primary);background:var(--primary-bg)}.ws-action-view:hover{background:var(--primary);color:#fff}.ws-action-edit{color:#df8726;background:#ffe293}.ws-action-edit:hover{background:#df8726;color:#fff}.ws-action-delete{color:#c80029;background:#fde6eb}.ws-action-delete:hover{background:#c80029;color:#fff}.ws-action-fav{color:var(--text-disabled);background:var(--bg-surface)}.ws-action-fav:hover,.ws-action-fav-active{color:#ed1b2f;background:#fde6eb}.ws-action-download{color:var(--primary);background:var(--primary-bg);text-decoration:none}.ws-action-download:hover{background:var(--primary);color:#fff}.ws-meetings-empty,.ws-docs-loading,.ws-docs-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.ws-docs-empty{color:var(--text-disabled)}.ws-docs-empty svg{display:block;margin:0 auto 12px}.ws-meetings-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border-light)}.ws-pagination-info{font-size:14px;color:var(--text-muted)}.ws-pagination-buttons{display:flex;gap:4px}.ws-pagination-btn{padding:6px 14px;border-radius:8px;font-size:14px;font-weight:500;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:all .15s;cursor:pointer}.ws-pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-border)}.ws-pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.ws-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.ws-calendar-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden}.ws-calendar-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid var(--border-light)}.ws-calendar-header .grow{flex:1}.ws-calendar-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.ws-calendar-nav{display:flex;align-items:center;gap:8px}.ws-cal-nav-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ws-cal-nav-btn:hover{background:var(--bg-hover)}.ws-cal-today-btn{padding:6px 16px;border-radius:8px;font-size:14px;font-weight:600;border:1px solid var(--primary-border);background:var(--primary-bg);color:var(--primary);cursor:pointer;transition:all .15s}.ws-cal-today-btn:hover{background:var(--primary);color:#fff}.ws-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.ws-calendar-weekday{padding:10px;text-align:center;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:normal;border-bottom:1px solid var(--border-light);background:var(--bg-hover)}.ws-calendar-cell{min-height:100px;padding:6px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);transition:background .15s}.ws-calendar-cell:nth-child(7n){border-right:none}.ws-calendar-cell:hover{background:var(--bg-hover)}.ws-cal-other{opacity:.35}.ws-cal-today{background:#0d47a10a}.ws-cal-day-num{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.ws-cal-day-today{background:var(--primary);color:#fff;font-weight:700;box-shadow:0 2px 8px #0d47a14d}.ws-cal-event{display:block;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500;margin-bottom:2px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-cal-red{background:#fde6eb;color:#c80029}.ws-cal-green{background:#e7f1ea;color:#5ca044}.ws-cal-blue{background:#e8f0fe;color:#0d47a1}.ws-cal-gray{background:#f3f4f5;color:#6f767e}.ws-cal-event:hover{filter:brightness(.95)}.ws-cal-more{font-size:12px;color:var(--primary);font-weight:600;padding:2px 4px}.ws-docs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:4px 0 18px}.ws-docs-head h1{font-size:var(--display-xs);line-height:var(--display-xs-lh);font-weight:var(--fw-bold);color:var(--text-primary);margin:0}.ws-docs-head-actions{display:flex;align-items:center;gap:10px}.ws-docs-head-actions .btn:disabled,.ws-docs-new-folder .btn:disabled{cursor:not-allowed;background:var(--gray-300);color:var(--text-disabled);border-color:transparent}.ws-docs-page{display:grid;grid-template-columns:264px 1fr;gap:16px;align-items:start}.ws-docs-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;position:sticky;top:calc(var(--header-h) + 16px)}.ws-docs-sidebar-header{display:flex;align-items:center;gap:10px;font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--text-primary);padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--color-divider)}.ws-docs-sidebar-header svg{color:var(--color-primary);flex:none}.ws-docs-group{margin-bottom:0}.ws-docs-group-label{font-size:12px;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;padding:0 4px}.ws-docs-nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:background .15s,color .15s;cursor:pointer;border:none;background:none;text-align:left}.ws-docs-nav-btn svg{flex:none;color:var(--primary-500)}.ws-docs-nav-btn.active svg{color:var(--color-primary)}.ws-docs-nav-btn span{flex:1}.ws-docs-nav-btn:hover{background:var(--gray-100);color:var(--text-primary)}.ws-docs-nav-btn.active{background:var(--primary-000);color:var(--color-primary);font-weight:var(--fw-semibold)}.ws-docs-storage{margin-top:16px;padding-top:14px;border-top:1px solid var(--color-divider)}.ws-docs-storage-header{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:8px}.ws-docs-storage-header svg{color:var(--color-primary);flex:none}.ws-docs-storage-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-pill);overflow:hidden}.ws-docs-storage-fill{height:100%;border-radius:inherit;background:var(--color-primary);min-width:4px;transition:width .3s}.ws-docs-storage-info{display:flex;justify-content:space-between;font-size:var(--text-xs);font-weight:500;color:var(--text-muted);margin-top:6px}.ws-docs-main{min-width:0;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ws-docs-explorer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-divider)}.ws-docs-breadcrumb{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-muted);min-width:0}.ws-docs-breadcrumb-root{color:var(--text-muted);font-weight:var(--fw-regular)}.ws-docs-breadcrumb-sep{color:var(--gray-500);flex:none}.ws-docs-breadcrumb-current{color:var(--text-primary);font-weight:var(--fw-semibold)}.ws-docs-breadcrumb-link{cursor:pointer}.ws-docs-breadcrumb-link:hover{color:var(--primary);text-decoration:underline}.ws-docs-count{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.ws-docs-count b{color:var(--text-primary);font-weight:var(--fw-semibold)}.ws-docs-filters{display:flex;gap:12px;flex-wrap:wrap;padding:16px 20px}.ws-docs-search{position:relative;flex:1;min-width:220px}.ws-docs-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--primary-500)}.ws-docs-search-input{width:100%;height:40px;padding:0 12px 0 38px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-md);background:var(--color-surface);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.ws-docs-search-input::placeholder{color:var(--text-disabled)}.ws-docs-search-input:hover{border-color:var(--color-border-strong)}.ws-docs-search-input:focus{border-color:var(--color-primary);box-shadow:var(--ring);outline:none}.ws-docs-meeting-filter{display:flex;align-items:center;gap:6px;height:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 12px}.ws-docs-meeting-filter:focus-within{border-color:var(--color-primary);box-shadow:var(--ring)}.ws-docs-meeting-filter .ws-filter-icon{color:var(--text-muted);flex:none}.ws-docs-meeting-select{border:none;background:transparent;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;min-width:180px;max-width:280px}.ws-docs-meeting-select:focus{outline:none}.ws-docs-table-card{background:none;border:none;box-shadow:none;border-radius:0;overflow:visible;flex:1;min-width:0}.ws-docs-table-wrap{overflow-x:auto}.ws-docs-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ws-docs-table thead th{padding:10px 12px;text-align:left;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);text-transform:none;letter-spacing:normal;white-space:nowrap;background:var(--gray-200);border-bottom:none}.ws-docs-table thead th:first-child{padding-left:20px}.ws-docs-table thead th:last-child{padding-right:20px}.ws-docs-table tbody td{padding:11px 12px;font-size:var(--text-sm);border-bottom:1px solid var(--color-divider);vertical-align:middle;color:var(--text-primary)}.ws-docs-table tbody td:first-child{padding-left:20px}.ws-docs-table tbody td:last-child{padding-right:20px}.ws-docs-table tbody tr:last-child td{border-bottom:none}.ws-docs-table tbody td.ws-docs-td-muted{color:var(--text-muted);white-space:nowrap}.ws-docs-row{transition:background .15s}.ws-docs-row:hover{background:var(--gray-100)}.ws-docs-file-info{display:flex;align-items:center;gap:12px}.ws-docs-file-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary);line-height:var(--text-sm-lh)}.ws-docs-file-type{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase}.ws-docs-meeting-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--fw-medium);background:var(--info-100);color:var(--info-700);max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-docs-meeting-tag svg{flex:none}.ws-docs-folder-name{font-size:var(--text-sm);color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.ws-docs-folder-name svg{flex:none;color:var(--primary-500)}.ws-docs-actions{display:flex;gap:4px;justify-content:center}.ws-docs-actions .ws-action-btn{width:30px;height:30px;border-radius:var(--radius-sm);background:none;color:var(--primary-600);border:none}.ws-docs-actions .ws-action-view{color:var(--teal-600)}.ws-docs-actions .ws-action-download{color:var(--success-700)}.ws-docs-actions .ws-action-share{color:var(--primary-600)}.ws-docs-actions .ws-action-delete{color:var(--error-500)}.ws-docs-actions .ws-action-fav{color:var(--warning-950)}.ws-docs-actions .ws-action-view:hover,.ws-docs-actions .ws-action-download:hover,.ws-docs-actions .ws-action-share:hover{background:var(--gray-200);color:var(--color-primary)}.ws-docs-actions .ws-action-delete:hover{background:var(--error-000);color:var(--error-600)}.ws-docs-actions .ws-action-fav:hover{background:var(--error-000);color:var(--error-500)}.ws-docs-actions .ws-action-fav-active{background:none;color:var(--error-500)}.ws-docs-actions .ws-action-fav-active:hover{background:var(--error-000)}.ws-docs-loading,.ws-docs-empty{padding:48px 20px;font-size:var(--text-sm)}.ws-docs-empty{color:var(--text-muted)}.ws-docs-empty svg{color:var(--gray-400)}.ws-docs-empty p{margin-top:10px}.ws-docs-placeholder{flex:1;display:flex;align-items:center;justify-content:center;min-height:280px;padding:24px}.ws-docs-placeholder-card{text-align:center;max-width:360px;padding:32px;background:none;border:1px dashed var(--color-border);border-radius:var(--radius-lg);box-shadow:none}.ws-docs-placeholder-icon{width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gray-200);color:var(--gray-500)}.ws-docs-placeholder-card h3{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--text-primary);margin:0 0 8px}.ws-docs-placeholder-card p{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:var(--text-sm-lh)}@media(max-width:900px){.ws-docs-page{grid-template-columns:1fr}.ws-docs-sidebar{position:static}.ws-meetings-filters-left{flex-direction:column}.ws-meetings-search{max-width:none}}.ws-action-share{color:#5ca044;background:#e7f1ea}.ws-action-share:hover{background:#5ca044;color:#fff}.ws-badge-ref{margin-left:4px;font-size:12px;font-weight:500;cursor:help}.ws-docs-new-folder{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--primary-000);border-radius:0;border:none;border-bottom:1px solid var(--color-divider);box-shadow:none}.ws-docs-new-folder>svg{color:var(--color-primary);flex:none}.ws-docs-new-folder .ws-docs-search-input{padding-left:12px;font-size:var(--text-sm)}.ws-docs-folder-tree{padding-top:10px;border-top:1px solid var(--color-divider);margin-top:12px}.ws-docs-folder-row{display:flex;align-items:center}.ws-docs-folder-btn{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:7px 10px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;border:none;background:none;transition:background .15s,color .15s}.ws-docs-folder-btn svg{flex:none}.ws-docs-folder-btn span:not(.ws-docs-folder-count){flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-docs-folder-btn:hover{background:var(--gray-100);color:var(--text-primary)}.ws-docs-folder-btn.active{background:var(--primary-000);color:var(--color-primary);font-weight:var(--fw-semibold)}.ws-docs-folder-count{margin-left:auto;font-size:12px;font-weight:500;color:var(--text-muted);background:var(--gray-200);padding:1px 7px;border-radius:var(--radius-pill)}.ws-docs-folder-del{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-disabled);cursor:pointer;border:none;background:none;transition:all .15s;opacity:0}.ws-docs-folder-row:hover .ws-docs-folder-del{opacity:1}.ws-docs-folder-del:hover{background:#fde6eb;color:#c80029}.ws-docs-folder-row-inline td{background:#0070ce05}.ws-docs-folder-row-inline:hover td{background:#0070ce0f!important}.ws-docs-folder-row-inline .ws-docs-file-name{font-weight:var(--fw-semibold)}.ws-docs-folder-row-inline .ws-docs-file-type{text-transform:none}.ws-docs-drag-active{position:relative;border:2px dashed var(--primary)!important;border-radius:var(--radius-md);background:#0d47a105}.ws-docs-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d47a10f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10;border-radius:var(--radius-md);color:var(--primary);font-size:var(--text-md);font-weight:var(--fw-semibold);pointer-events:none}.ws-permission-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--fw-medium)}.ws-permission-badge.view-only{background:var(--warning-050);color:var(--warning-700)}.ws-permission-badge.view-download{background:var(--army-000);color:var(--success-700)}.ws-badge-active{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--fw-medium);background:var(--army-000);color:var(--success-700)}.ws-badge-revoked{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--fw-medium);background:var(--error-000);color:var(--error-600)}.ws-share-user{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.ws-share-note{font-size:var(--text-sm);color:var(--text-muted);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.ws-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:ws-fade-in .2s}@keyframes ws-fade-in{0%{opacity:0}to{opacity:1}}.ws-share-dialog{width:520px;max-width:90vw;max-height:85vh;background:var(--bg-card);border-radius:20px;box-shadow:0 24px 64px #00000026;display:flex;flex-direction:column;animation:ws-slide-up .25s ease-out;overflow:hidden}@keyframes ws-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ws-share-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-light)}.ws-share-dialog-header h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.ws-modal-close{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;border:none;background:none;transition:all .15s}.ws-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-share-dialog-body{padding:20px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.ws-share-doc-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-surface);border-radius:12px}.ws-share-section label{display:block;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.ws-share-user-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);margin-bottom:8px}.ws-share-user-search input{border:none;background:none;flex:1;font-size:14px;color:var(--text-primary);outline:none}.ws-share-user-list{max-height:150px;overflow-y:auto;border:1px solid var(--border-light);border-radius:10px}.ws-share-section .ws-share-user-item{display:flex;align-items:center;gap:12px;padding:9px 14px;font-size:14px;cursor:pointer;transition:background .15s;margin-bottom:0;font-weight:400;text-transform:none;letter-spacing:normal}.ws-share-section .ws-share-user-item:hover{background:var(--bg-hover)}.ws-share-section .ws-share-user-item input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0;margin:0}.ws-share-section .ws-share-user-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px;color:var(--text-primary)}.ws-share-section .ws-share-user-email{margin-left:auto;flex-shrink:0;font-size:12px;font-weight:500;color:var(--text-disabled);text-transform:none}.ws-share-section .ws-share-user-selectall{position:sticky;top:0;z-index:1;background:var(--bg-subtle, #fafbfb);border-bottom:1px solid var(--border-light)}.ws-share-selected{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ws-share-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;background:var(--primary-bg);color:var(--primary);font-size:12px;font-weight:600}.ws-share-chip button{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:#0d47a126;color:var(--primary);transition:all .15s}.ws-share-chip button:hover{background:var(--primary);color:#fff}.ws-share-permissions{display:flex;flex-direction:column;gap:8px}.ws-share-perm-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--border-light);cursor:pointer;transition:all .15s}.ws-share-perm-option:hover{border-color:var(--primary-border);background:var(--primary-bg)}.ws-share-perm-option.active{border-color:var(--primary);background:var(--primary-bg);box-shadow:0 0 0 3px #0d47a114}.ws-share-perm-option input[type=radio]{display:none}.ws-share-perm-option div{min-width:0}.ws-share-perm-option strong{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.ws-share-perm-option small{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-top:2px}.ws-share-note-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--text-primary);background:var(--bg-card);resize:vertical;font-family:inherit;transition:border-color .2s}.ws-share-note-input:focus{border-color:var(--primary);outline:none}.ws-share-note-count{font-size:12px;font-weight:500;color:var(--text-disabled);text-align:right;display:block;margin-top:4px}.ws-share-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-light)}.ws-btn-cancel{padding:8px 20px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ws-btn-cancel:hover{background:var(--bg-hover)}.ws-btn-primary{padding:8px 20px;border-radius:10px;font-size:14px;font-weight:600;border:none;background:var(--primary);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0d47a133}.ws-btn-primary:hover{background:#0a3c8a}.ws-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ws-concl-page{display:flex;flex-direction:column;gap:24px}.ws-concl-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.ws-concl-header-left{display:flex;align-items:center;gap:14px}.ws-concl-header-icon{color:var(--primary)}.ws-concl-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.ws-concl-subtitle{font-size:14px;color:var(--text-muted);margin-top:2px}.ws-concl-header-right{display:flex;align-items:center;gap:12px}.ws-concl-search{position:relative;display:flex;align-items:center}.ws-concl-search-icon{position:absolute;left:12px;color:var(--text-disabled)}.ws-concl-search-input{width:280px;padding:9px 12px 9px 36px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg-card);color:var(--text-primary);transition:border-color .2s}.ws-concl-search-input:focus{border-color:var(--primary);outline:none}.ws-concl-btn-upload{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:10px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s;box-shadow:0 4px 16px #0d47a133}.ws-concl-btn-upload:hover{background:#0a3c8a;transform:translateY(-1px)}.ws-concl-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);overflow:hidden}.ws-concl-page>.page-header{margin-bottom:0}.ws-concl-table-wrap{overflow-x:auto}.ws-concl-table{width:100%;border-collapse:collapse}.ws-concl-table thead th{padding:14px 20px;text-align:left;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);text-transform:none;letter-spacing:normal;border-bottom:1px solid var(--border-light);background:var(--gray-200)}.ws-concl-col-center{text-align:center!important}.ws-concl-table tbody td{padding:14px 20px;border-bottom:1px solid var(--border-light);vertical-align:middle}.ws-concl-row{transition:background .15s;cursor:pointer}.ws-concl-row:hover{background:var(--bg-hover)}.ws-concl-file-info{display:flex;align-items:center;gap:12px}.ws-concl-file-icon{font-size:22px;flex-shrink:0}.ws-concl-file-name{font-size:14px;font-weight:600;color:var(--text-primary)}.ws-concl-file-type{font-size:12px;font-weight:500;color:var(--text-disabled);text-transform:uppercase;margin-top:2px}.ws-concl-meeting-info{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.ws-concl-comment-count{display:flex;align-items:center;gap:5px;font-size:14px;color:var(--text-muted)}.ws-concl-status{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.ws-concl-status--approved{background:#e7f1ea;color:#5ca044}.ws-concl-status--unapproved{background:#ffe293;color:#df8726}.ws-concl-actions{display:flex;gap:6px;justify-content:center}.ws-concl-action-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;transition:all .15s}.ws-concl-action-btn.view{color:var(--primary);background:var(--primary-bg)}.ws-concl-action-btn.view:hover{background:var(--primary);color:#fff}.ws-concl-action-btn.download{color:#5ca044;background:#e7f1ea}.ws-concl-action-btn.download:hover{background:#5ca044;color:#fff}.ws-concl-action-btn.approve{color:#5ca044;background:#e7f1ea}.ws-concl-action-btn.approve:hover{background:#5ca044;color:#fff}.ws-concl-action-btn.delete{color:#c80029;background:#fde6eb}.ws-concl-action-btn.delete:hover{background:#c80029;color:#fff}.ws-concl-loading,.ws-concl-empty{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:14px}.ws-concl-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-disabled)}.ws-concl-spinner{width:24px;height:24px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:ws-spin .7s linear infinite;display:inline-block;margin-right:8px}@keyframes ws-spin{to{transform:rotate(360deg)}}.ws-concl-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--border-light)}.ws-concl-pagination button{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ws-concl-pagination button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-border)}.ws-concl-pagination button:disabled{opacity:.35;cursor:not-allowed}.ws-concl-pagination span{font-size:14px;color:var(--text-muted);font-weight:500}.ws-concl-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:ws-fade-in .2s}.ws-concl-modal{width:1200px;max-width:96vw;height:94vh;max-height:98vh;background:var(--bg-card);border-radius:20px;box-shadow:0 24px 64px #0000002e;display:flex;flex-direction:column;overflow:hidden;animation:ws-slide-up .25s ease-out}.ws-concl-modal--two-col{width:1500px;max-width:98vw}.ws-concl-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border-light);gap:16px;flex-wrap:wrap}.ws-concl-modal-header-info h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.ws-concl-modal-header-info p{font-size:12px;font-weight:500;color:var(--text-muted);margin:4px 0 0;display:flex;align-items:center;gap:6px}.ws-concl-modal-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ws-concl-btn-approve{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;background:#5ca044;color:#fff;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.ws-concl-btn-approve:hover{background:#46823d}.ws-concl-btn-download{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;background:var(--bg-surface);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:all .2s}.ws-concl-btn-download:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-concl-modal-close{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;border:none;background:none;transition:all .15s}.ws-concl-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-concl-modal-body{flex:1;overflow:hidden;display:flex;min-height:0}.ws-concl-modal--two-col .ws-concl-modal-body{display:grid;grid-template-columns:1fr 380px}.ws-concl-pdf-viewer{flex:1;overflow:hidden;min-height:420px}.ws-concl-pdf-iframe{width:100%;height:100%;border:none;min-height:420px;display:block}.ws-concl-comments-panel{display:flex;flex-direction:column;border-left:1px solid var(--border-light);background:var(--bg-surface);min-height:0}.ws-concl-panel-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--border-light)}.ws-concl-panel-tabs button{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-concl-panel-tabs button:hover{color:var(--text-primary);background:var(--bg-hover)}.ws-concl-panel-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.ws-concl-panel-tabpane{flex:1;min-height:0;flex-direction:column}.ws-concl-comments-header{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.ws-concl-comments-list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.ws-concl-comments-loading,.ws-concl-comments-empty{padding:32px 16px;text-align:center;color:var(--text-disabled);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:8px}.ws-concl-comment-item{padding:12px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-light)}.ws-concl-comment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ws-concl-comment-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-400));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.ws-concl-comment-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.ws-concl-comment-name{font-size:14px;font-weight:600;color:var(--text-primary)}.ws-concl-comment-time{font-size:12px;font-weight:500;color:var(--text-disabled)}.ws-concl-comment-text{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0;word-break:break-word}.ws-concl-comment-actions{display:flex;gap:4px;margin-left:auto}.ws-concl-comment-actions button{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-disabled);cursor:pointer;border:none;background:none;transition:all .15s}.ws-concl-comment-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-concl-comment-edit{display:flex;flex-direction:column;gap:6px}.ws-concl-comment-edit textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-card);resize:vertical}.ws-concl-comment-edit textarea:focus{border-color:var(--primary);outline:none}.ws-concl-comment-edit-actions{display:flex;gap:6px;justify-content:flex-end}.ws-concl-comment-edit-actions button{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.ws-concl-comment-edit-actions button:first-child{background:var(--primary);color:#fff}.ws-concl-comment-edit-actions button:first-child:hover{background:#0a3c8a}.ws-concl-comment-edit-actions button:last-child{background:var(--bg-hover);color:var(--text-secondary)}.ws-concl-comment-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-light);align-items:flex-end}.ws-concl-comment-form textarea{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-card);resize:none;min-height:40px}.ws-concl-comment-form textarea:focus{border-color:var(--primary);outline:none}.ws-concl-comment-form button{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s;white-space:nowrap}.ws-concl-comment-form button:hover:not(:disabled){background:#0a3c8a}.ws-concl-comment-form button:disabled{opacity:.4;cursor:not-allowed}.ws-concl-upload-modal{width:480px;max-width:90vw;background:var(--bg-card);border-radius:20px;box-shadow:0 24px 64px #0000002e;animation:ws-slide-up .25s ease-out;overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.ws-concl-upload-header{flex-shrink:0}.ws-concl-upload-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border-light)}.ws-concl-upload-header h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.ws-concl-upload-header button{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;border:none;background:none;transition:all .15s}.ws-concl-upload-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-concl-upload-form{padding:20px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0;flex:1 1 auto}.ws-concl-upload-label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--text-secondary)}.ws-concl-upload-label select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg-card);color:var(--text-primary);transition:border-color .2s}.ws-concl-upload-label select:focus{border-color:var(--primary);outline:none}.ws-concl-upload-label .req{color:var(--error, #ed1b2f)}.ws-concl-static-field{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-weight:400;background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box}.ws-concl-upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;border:2px dashed var(--border);border-radius:12px;background:var(--bg-surface);cursor:pointer;transition:all .2s;color:var(--text-muted);font-size:14px}.ws-concl-upload-drop:hover{border-color:var(--primary);background:var(--primary-bg);color:var(--primary)}.ws-concl-upload-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border-light);position:sticky;bottom:0;background:var(--bg-card);margin:0 -24px -20px;padding:12px 24px}.ws-concl-upload-actions button{padding:9px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:all .15s}.ws-concl-upload-actions button:hover{background:var(--bg-hover)}.ws-concl-upload-actions button.primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #0d47a133}.ws-concl-upload-actions button.primary:hover{background:#0a3c8a}.ws-concl-upload-actions button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:900px){.ws-concl-header{flex-direction:column;align-items:stretch}.ws-concl-header-right{flex-direction:column}.ws-concl-search-input{width:100%}.ws-concl-modal--two-col{width:95vw}.ws-concl-modal--two-col .ws-concl-modal-body{grid-template-columns:1fr;grid-template-rows:1fr 280px}.ws-concl-comments-panel{border-left:none;border-top:1px solid var(--border-light)}}.speech-panel{margin-top:16px;border-radius:14px;border:1.5px solid rgba(122,90,248,.25);background:linear-gradient(135deg,#7a5af80f,#7a5af80a);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px 22px;position:relative;overflow:hidden}.speech-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#7a5af8,#7a5af8,var(--primary-400));border-radius:14px 14px 0 0}.speech-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.speech-panel-title{font-weight:700;font-size:14px;color:var(--text-primary, #e8e9ea);letter-spacing:.3px}.speech-panel-badge{background:#7a5af833;color:var(--primary-400);font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;border:1px solid rgba(149,123,249,.3)}.speech-current{display:flex;align-items:center;gap:10px;background:#ed1b2f14;border:1px solid rgba(237,27,47,.2);border-radius:10px;padding:10px 14px;margin-bottom:14px}.speech-current-dot{width:10px;height:10px;border-radius:50%;background:#ed1b2f;box-shadow:0 0 0 3px #ed1b2f40;animation:speechPulse 1.5s ease-in-out infinite;flex-shrink:0}.speech-current-name{font-size:14px;color:#f3869b}.speech-current-name strong{color:#f05b72}.speech-action-area{display:flex;flex-direction:column;gap:10px}.speech-register-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 28px;border-radius:12px;background:linear-gradient(135deg,#7a5af8,#7a5af8);color:#fff;font-weight:700;font-size:14px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #7a5af859;width:100%;letter-spacing:.3px}.speech-register-btn:hover:not(:disabled){background:linear-gradient(135deg,#6f52e2,#6f52e2);box-shadow:0 6px 22px #7a5af880;transform:translateY(-1px)}.speech-register-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #7a5af84d}.speech-register-btn:disabled{opacity:.65;cursor:default;transform:none}.speech-register-btn.loading{opacity:.8}.speech-mic-icon{font-size:18px}.speech-error-msg{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;background:#ed1b2f1a;border:1px solid rgba(237,27,47,.25);color:#f05b72;font-size:14px;font-weight:500;animation:speechErrorFadeIn .2s ease-out}@keyframes speechErrorFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.speech-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;width:fit-content}.speech-finished{background:#66ae451a;color:#7ec352;border:1px solid rgba(126,195,82,.25)}.speech-rejected{background:#ed1b2f1a;color:#f05b72;border:1px solid rgba(240,91,114,.25)}.speech-waiting{display:flex;align-items:center;gap:14px;background:#f8952114;border:1px solid rgba(248,149,33,.2);border-radius:12px;padding:14px 16px}.speech-waiting-pulse{width:12px;height:12px;border-radius:50%;background:#f89521;animation:speechPulse 1.4s ease-in-out infinite;flex-shrink:0}.speech-waiting-text{display:flex;flex-direction:column;gap:3px;flex:1}.speech-waiting-label{font-size:14px;font-weight:600;color:#fcba63}.speech-waiting-sub{font-size:12px;font-weight:500;color:#fcba63a6}.speech-cancel-hint{font-size:12px;font-weight:500!important;opacity:.5;cursor:default!important}.speech-speaking{background:#ed1b2f14;border:1px solid rgba(237,27,47,.25);border-radius:12px;padding:16px 18px;text-align:center}.speech-speaking-indicator{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}.speech-speaking-text{font-size:14px;font-weight:700;color:#f05b72}.speech-speaking-hint{font-size:12px;font-weight:500;color:#f05b7299;margin:0}.speech-speaking-wave{display:flex;align-items:center;gap:3px;height:24px}.speech-speaking-wave span{display:block;width:4px;background:#ed1b2f;border-radius:2px;animation:speechWave 1s ease-in-out infinite}.speech-speaking-wave span:nth-child(1){animation-delay:0s;height:8px}.speech-speaking-wave span:nth-child(2){animation-delay:.1s;height:16px}.speech-speaking-wave span:nth-child(3){animation-delay:.2s;height:22px}.speech-speaking-wave span:nth-child(4){animation-delay:.3s;height:16px}.speech-speaking-wave span:nth-child(5){animation-delay:.4s;height:8px}.speech-queue-list{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.speech-queue-label{font-size:12px;font-weight:600;color:var(--text-muted, #6f767e);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.speech-queue-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);margin-bottom:5px}.speech-queue-num{font-size:12px;font-weight:700;color:#7a5af8;width:22px;text-align:center}.speech-queue-name{font-size:14px;color:var(--text-secondary, #8c9198)}@keyframes speechPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes speechWave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.35)}}.ant-modal .ant-modal-body{max-height:calc(100vh - 240px);overflow-y:auto}.modal-free-body .ant-modal-body{max-height:none;overflow-y:visible}.task-modal,.ws-modal-overlay>div{max-height:calc(100vh - 64px);overflow-y:auto}.ws-dashboard-v2 .ant-tabs-nav{margin-bottom:14px}.ws-dashboard-v2 .ant-tabs-tab{font-weight:600}.ws-next-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--primary-000);border-radius:var(--radius-lg);padding:12px 18px;font-size:12px;color:var(--text-secondary)}.ws-next-strip-meeting{color:var(--text-primary)}.ws-chip-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:14px 0 4px}.ws-chip{display:flex;align-items:flex-start;gap:14px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px;-webkit-user-select:none;user-select:none;transition:.15s}.ws-chip.clickable{cursor:pointer}.ws-chip.clickable:hover{border-color:var(--primary-200);box-shadow:0 4px 14px #0d47a11f}.ws-chip.active{border-color:var(--primary-600);background:var(--primary-000);box-shadow:0 4px 14px #0d47a129}.ws-chip.zero{opacity:.5;filter:grayscale(.5)}.ws-chip-ico{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex:none}.ws-chip-ico svg{width:24px;height:24px}.ws-chip-val{font-size:26px;font-weight:var(--fw-bold);line-height:1.1}.ws-chip-body{display:flex;flex-direction:column;min-width:0}.ws-chip-lb{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--fw-regular, 400);line-height:1.3;margin-top:2px}.ws-chip-sub{font-size:var(--text-xs);font-weight:var(--fw-medium);margin-top:6px}.ws-feed-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;min-height:var(--ws-feed-row-h);border-bottom:1px dashed var(--gray-200);font-size:12px;cursor:pointer}.ws-feed-row:last-child{border-bottom:none}.ws-feed-row:hover{background:var(--gray-100)}.ws-feed-time{color:var(--primary-600);font-weight:700;font-variant-numeric:tabular-nums;width:44px;flex:none}.ws-feed-text{color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ws-inbox-body{padding:0!important}.ws-inbox-row{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--color-divider)}.ws-inbox-row:last-child{border-bottom:none}.ws-inbox-tag{display:inline-flex;align-items:center;flex:none;white-space:nowrap;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);line-height:18px;font-weight:var(--fw-medium)}.ws-inbox-main{flex:1;min-width:0}.ws-inbox-title{font-weight:var(--fw-medium);font-size:var(--text-sm);color:var(--text-primary)}.ws-inbox-meta{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);margin-top:2px}.ws-inbox-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:.15s}.ws-inbox-btn:hover{background:var(--primary-000)}.ws-inbox-btn.urgent{background:var(--primary-600);border-color:var(--primary-600);color:var(--color-white)}.ws-inbox-btn.urgent:hover{background:var(--primary-700)}.ws-filter-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:14px}.ws-viewing{font-size:12px;color:var(--text-primary);background:var(--primary-000);border:1px solid var(--primary-150);border-radius:var(--radius-md);padding:4px 10px}.ws-col-stack{display:flex;flex-direction:column;gap:16px;min-height:0}.ws-today-row .ws-widget-card{display:flex;flex-direction:column;min-height:0}.ws-today-row .ws-widget-card>.ws-widget-header,.ws-today-row .ws-widget-card>.ws-widget-header-tabbed{flex:0 0 auto}.ws-today-row .ws-widget-card>.ws-widget-body,.ws-today-row .ws-inbox-body{flex:1 1 auto;min-height:0;overflow-y:auto}.ws-today-row .ws-widget-card>.ws-widget-footer{flex:0 0 auto}.ws-today-row .ws-widget-card>.ws-doc-tabs-v2,.ws-today-row .ws-widget-card>.ws-doc-table-header{flex:0 0 auto}.ws-today-row .ws-widget-card>.ws-doc-list-v2{flex:1 1 auto;min-height:0;overflow-y:auto}:root{--ws-cal-row-h: 74px;--ws-feed-row-h: 63px}.ws-today-calendar .ws-widget-card>.ws-widget-body{max-height:calc(3 * var(--ws-cal-row-h) + 12px);overflow-y:auto}.ws-timeline-item{min-height:var(--ws-cal-row-h)}.ws-today-row .ws-col-stack>.ws-widget-card:first-child>.ws-widget-body{max-height:calc(3 * var(--ws-feed-row-h) + 12px);overflow-y:auto}.ws-more-chip{display:inline-flex;align-items:center;margin-left:8px;padding:0 8px;border-radius:var(--radius-pill);background:var(--primary-000);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-semibold);height:18px;line-height:18px}.ws-today-calendar .ws-widget-card>.ws-widget-body,.ws-today-row .ws-col-stack>.ws-widget-card:first-child>.ws-widget-body{padding-top:12px;padding-bottom:12px}@media(min-width:1200px){.ws-today-row{height:620px}.ws-today-row>.ant-col{height:100%}.ws-col-stack{height:100%}.ws-col-stack>.ws-widget-card:nth-child(1){flex:0 0 auto}.ws-col-stack>.ws-widget-card:nth-child(2){flex:1 1 0}.ws-inbox-card{height:100%}}.ws-today-row .ws-widget-body::-webkit-scrollbar,.ws-today-row .ws-doc-list-v2::-webkit-scrollbar,.ws-today-calendar .ws-widget-body::-webkit-scrollbar,.ws-today-row .ws-inbox-body::-webkit-scrollbar{width:7px}.ws-today-row .ws-widget-body::-webkit-scrollbar-thumb,.ws-today-row .ws-doc-list-v2::-webkit-scrollbar-thumb,.ws-today-calendar .ws-widget-body::-webkit-scrollbar-thumb,.ws-today-row .ws-inbox-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.ws-today-row .ws-widget-body::-webkit-scrollbar-thumb:hover,.ws-today-row .ws-doc-list-v2::-webkit-scrollbar-thumb:hover,.ws-today-calendar .ws-widget-body::-webkit-scrollbar-thumb:hover,.ws-today-row .ws-inbox-body::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}[class*=css-var-]{--ant-blue-1: #E8F0FE !important;--ant-blue-2: #D0E4FB !important;--ant-blue-3: #B3D4F8 !important;--ant-blue-4: #93C5FD !important;--ant-blue-5: #49AAFC !important;--ant-blue-6: #0D47A1 !important;--ant-blue-7: #0A3C8A !important;--ant-blue-8: #082F6E !important;--ant-blue-9: #05224E !important;--ant-blue-10: #05224E !important;--ant-blue: #0D47A1 !important;--ant-geekblue-1: #D0E4FB !important;--ant-geekblue-2: #B3D4F8 !important;--ant-geekblue-3: #93C5FD !important;--ant-geekblue-4: #49AAFC !important;--ant-geekblue-5: #0070CE !important;--ant-geekblue-6: #0A3C8A !important;--ant-geekblue-7: #082F6E !important;--ant-geekblue-8: #05224E !important;--ant-geekblue-9: #05224E !important;--ant-geekblue-10: #05224E !important;--ant-geekblue: #0A3C8A !important;--ant-green-1: #E7F1EA !important;--ant-green-2: #B7DB9B !important;--ant-green-3: #ACD58A !important;--ant-green-4: #A1D078 !important;--ant-green-5: #89C765 !important;--ant-green-6: #75C044 !important;--ant-green-7: #5CA044 !important;--ant-green-8: #46823D !important;--ant-green-9: #3C7337 !important;--ant-green-10: #3C7337 !important;--ant-green: #75C044 !important;--ant-lime-1: #E7F1EA !important;--ant-lime-2: #B7DB9B !important;--ant-lime-3: #ACD58A !important;--ant-lime-4: #A1D078 !important;--ant-lime-5: #89C765 !important;--ant-lime-6: #66AE45 !important;--ant-lime-7: #46823D !important;--ant-lime-8: #3C7337 !important;--ant-lime-9: #3C7337 !important;--ant-lime-10: #3C7337 !important;--ant-lime: #66AE45 !important;--ant-cyan-1: #E7F1EA !important;--ant-cyan-2: #B3D3BE !important;--ant-cyan-3: #8FBD9E !important;--ant-cyan-4: #5C9F72 !important;--ant-cyan-5: #3C8D56 !important;--ant-cyan-6: #0B702C !important;--ant-cyan-7: #0A6628 !important;--ant-cyan-8: #08501F !important;--ant-cyan-9: #063E18 !important;--ant-cyan-10: #0C2A1D !important;--ant-cyan: #0B702C !important;--ant-gold-1: #FFE293 !important;--ant-gold-2: #FFCE7B !important;--ant-gold-3: #FCBA63 !important;--ant-gold-4: #FAA74A !important;--ant-gold-5: #F79433 !important;--ant-gold-6: #F89521 !important;--ant-gold-7: #CB7C29 !important;--ant-gold-8: #B77029 !important;--ant-gold-9: #A36427 !important;--ant-gold-10: #A36427 !important;--ant-gold: #F89521 !important;--ant-yellow-1: #FFE293 !important;--ant-yellow-6: #F89521 !important;--ant-yellow-7: #CB7C29 !important;--ant-orange-1: #FFE293 !important;--ant-orange-2: #FFCE7B !important;--ant-orange-3: #FCBA63 !important;--ant-orange-4: #FAA74A !important;--ant-orange-5: #F79433 !important;--ant-orange-6: #DF8726 !important;--ant-orange-7: #CB7C29 !important;--ant-orange-8: #B77029 !important;--ant-orange-9: #A36427 !important;--ant-orange-10: #A36427 !important;--ant-orange: #DF8726 !important;--ant-red-1: #FDE6EB !important;--ant-red-2: #F7ACBC !important;--ant-red-3: #F3869B !important;--ant-red-4: #F05B72 !important;--ant-red-5: #EF4056 !important;--ant-red-6: #ED1B2F !important;--ant-red-7: #C80029 !important;--ant-red-8: #C42128 !important;--ant-red-9: #B21F24 !important;--ant-red-10: #9E1D20 !important;--ant-red: #ED1B2F !important;--ant-volcano-1: #FDE6EB !important;--ant-volcano-2: #F7ACBC !important;--ant-volcano-3: #F3869B !important;--ant-volcano-4: #F05B72 !important;--ant-volcano-5: #EF4056 !important;--ant-volcano-6: #C42128 !important;--ant-volcano-7: #B21F24 !important;--ant-volcano-8: #9E1D20 !important;--ant-volcano-9: #9E1D20 !important;--ant-volcano-10: #9E1D20 !important;--ant-volcano: #C42128 !important;--ant-purple-1: #F2EFFE !important;--ant-purple-2: #D6CCFD !important;--ant-purple-3: #C2B3FC !important;--ant-purple-4: #A690FA !important;--ant-purple-5: var(--primary-400) !important;--ant-purple-6: #7A5AF8 !important;--ant-purple-7: #5740B0 !important;--ant-purple-8: #433288 !important;--ant-purple-9: #332668 !important;--ant-purple-10: #332668 !important;--ant-purple: #7A5AF8 !important;--ant-magenta-1: #F2EFFE !important;--ant-magenta-2: #D6CCFD !important;--ant-magenta-3: #C2B3FC !important;--ant-magenta-4: #A690FA !important;--ant-magenta-5: var(--primary-400) !important;--ant-magenta-6: #6F52E2 !important;--ant-magenta-7: #5740B0 !important;--ant-magenta-8: #433288 !important;--ant-magenta-9: #332668 !important;--ant-magenta-10: #332668 !important;--ant-magenta: #6F52E2 !important;--ant-pink-1: #F2EFFE !important;--ant-pink-6: #6F52E2 !important;--ant-pink-7: #5740B0 !important}.ant-tag{border-radius:var(--radius-pill);font-weight:var(--fw-medium)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px}.toolbar .grow{flex:1}.card>.conclusion-list-manager>.toolbar{padding-left:0;padding-right:0}.title-body{display:flex;align-items:center;gap:10px;color:var(--color-primary);font-weight:var(--fw-bold);font-size:var(--text-xl)}.title-body .count{color:var(--text-muted);font-weight:var(--fw-regular);font-size:var(--text-sm)}.tb-input{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);transition:.15s}.tb-input svg{width:16px;height:16px;color:var(--primary-500);flex:none}.tb-input input,.tb-input select{border:none;outline:none;background:none;flex:1;font:inherit;color:inherit;min-width:0}.tb-input select{cursor:pointer;text-overflow:ellipsis;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:22px}.tb-input .tb-caret{margin-left:-24px;pointer-events:none}.tb-input select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--text-primary)}.tb-input input::placeholder{color:var(--text-disabled)}.tb-input:hover{border-color:var(--color-border-strong)}.tb-input:focus-within{border-color:var(--color-primary);box-shadow:var(--ring)}.toolbar .tb-search{flex:0 1 230px;min-width:150px}.toolbar>.btn:last-child{margin-left:auto}.tbl-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:var(--text-sm);table-layout:fixed}.tbl td{overflow-wrap:anywhere}.tbl thead th{background:var(--gray-200);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--fw-bold);text-align:left;padding:10px 12px;vertical-align:bottom;white-space:nowrap}.tbl tbody td{padding:11px 12px;border-bottom:1px solid var(--color-divider);vertical-align:middle;color:var(--text-primary)}.tbl td .badge{white-space:normal;text-align:left}.tbl tbody tr:hover{background:var(--gray-100)}.tbl thead tr.col-filter th{background:var(--color-surface);padding:8px 12px;font-weight:var(--fw-regular)}.tbl thead tr.col-filter .tb-input{height:34px}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;background:var(--primary-600);color:var(--color-text-on-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:14px}.tbl tbody tr.selected{background:var(--primary-000)}.tbl .u{display:flex;align-items:center;gap:10px}.tbl .num,.tbl .muted{color:var(--text-muted)}.tbl .actions{display:flex;gap:4px;flex-wrap:wrap}.tbl .actions .ia{width:30px;height:30px;padding:0;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center}.tbl .actions .ia:hover{background:var(--gray-200);color:var(--color-primary)}.tbl .actions .ia.ok:hover{background:var(--success-000);color:var(--success-800)}.tbl .actions .ia.danger:hover{background:var(--error-000);color:var(--error-600)}.tbl .actions .ia svg{width:16px;height:16px}.tbl .actions .ia,.tbl .actions .ia.ia-info{color:var(--primary-600)}.tbl .actions .ia.ia-view{color:var(--teal-600)}.tbl .actions .ia.ia-dl{color:var(--success-700)}.tbl .actions .ia.ia-star{color:var(--warning-950)}.tbl .actions .ia.ia-edit{color:var(--orange-700)}.tbl .actions .ia.ok{color:var(--success-700)}.tbl .actions .ia.danger{color:var(--error-500)}.tbl .actions .ia.ia-view:hover{background:var(--teal-000);color:var(--teal-700)}.tbl .actions .ia.ia-dl:hover{background:var(--success-050);color:var(--success-800)}.tbl .actions .ia.ia-star:hover{background:var(--warning-050);color:var(--warning-950)}.tbl .actions .ia.ia-edit:hover{background:#fbede3;color:var(--orange-800)}.tbl .fav{color:var(--gray-500)}.tbl .fav.on{color:var(--color-primary)}.tbl .fav.on svg{fill:currentColor}.btn-excel,.btn-excel.ant-btn,.btn-excel.ant-btn-default{background:var(--excel-green);border:1px solid var(--excel-green);color:var(--color-white);box-shadow:0 4px 16px #107c4138}.btn-excel:hover,.btn-excel:focus,.btn-excel.ant-btn:hover,.btn-excel.ant-btn:focus,.btn-excel.ant-btn-default:hover,.btn-excel.ant-btn-default:focus{background:var(--excel-green-hover)!important;border-color:var(--excel-green-hover)!important;color:var(--color-white)!important}.btn-excel:disabled,.btn-excel.ant-btn:disabled{opacity:.6}.btn-excel svg,.btn-excel .anticon svg{color:inherit}.btn-word,.btn-word.ant-btn,.btn-word.ant-btn-default{background:var(--word-blue);border:1px solid var(--word-blue);color:var(--color-white);box-shadow:0 4px 16px #2b579a38}.btn-word:hover,.btn-word:focus,.btn-word.ant-btn:hover,.btn-word.ant-btn:focus,.btn-word.ant-btn-default:hover,.btn-word.ant-btn-default:focus{background:var(--word-blue-hover)!important;border-color:var(--word-blue-hover)!important;color:var(--color-white)!important}.btn-word:disabled,.btn-word.ant-btn:disabled{opacity:.6}.btn-word svg,.btn-word .anticon svg{color:inherit}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge.b-gray{background:var(--gray-200);color:var(--gray-700)}.badge.b-red{background:var(--error-000);color:var(--error-600)}.badge.b-green{background:var(--success-000);color:var(--success-800)}.badge.b-orange{background:var(--warning-050);color:var(--warning-800)}.badge.b-blue{background:var(--info-100);color:var(--info-700)}.badge.b-purple{background:var(--purple-050);color:var(--purple-700)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--radius-pill);font-size:var(--text-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary)}.chip svg{width:14px;height:14px;color:var(--primary-500)}.chip.filled{background:var(--primary-000);border-color:transparent;color:var(--primary-700)}.chip.filled svg{color:var(--primary-700)}.concl-tbl{min-width:1080px}.concl-tbl thead th{position:relative;white-space:normal}.concl-tbl th.ec-tc,.concl-tbl td.ec-tc{text-align:center}.concl-tbl td.ec-tc .actions{display:grid;grid-template-columns:repeat(3,30px);gap:4px;justify-content:center}.mt-conclusions-header--compact{padding:0}.concl-cards-empty{text-align:center;padding:24px 8px;color:var(--text-muted)}.concl-cards-empty svg{opacity:.5;margin-bottom:8px}.concl-cards-empty p{margin:0;font-size:var(--text-sm)}.concl-compact-tbl thead th{padding:8px}.concl-compact-tbl tbody td{padding:9px 8px;vertical-align:top}.concl-compact-tbl tbody td.num{color:var(--text-muted)}.mt-conclusion-list .tbl .badge{white-space:nowrap}.concl-compact-tbl{min-width:570px}.concl-compact-tbl .actions{justify-content:flex-start;gap:2px}.concl-compact-tbl .actions .ia{width:27px;height:27px}.concl-compact-tbl .cc-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-size:14px;font-weight:500;color:var(--text-secondary);min-width:0}.concl-compact-tbl .cc-sub-item{display:inline-flex;align-items:center;gap:4px;min-width:0}.concl-compact-tbl .cc-sub-file{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}.concl-compact-tbl .cc-sub svg{flex:none;color:var(--primary-500)}.concl-compact-tbl .cc-sub-ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.card-plain{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.cal-hint{display:flex;align-items:center;gap:8px;margin:0 20px 14px;padding:10px 14px;background:var(--info-100);color:var(--info-800);border-radius:var(--radius-md);font-size:var(--text-sm)}.cal-hint svg{width:18px;height:18px;flex:none}table.tbl.wcal thead th{font-size:var(--text-xs);font-weight:500;letter-spacing:.03em;white-space:normal}.wcal .wc-day{white-space:nowrap;background:var(--gray-100);font-size:var(--text-sm)}.wcal .wc-day b{display:block;color:var(--text-primary)}.wcal .wc-day span{color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.wcal .wc-day.wc-wknd{background:var(--primary-000)}.wcal .wc-day.wc-today b{color:var(--color-primary)}.wcal .wc-day .wc-badge{display:inline-block;margin-top:4px;font-size:12px;font-weight:var(--fw-bold);color:var(--color-text-on-primary);background:var(--color-primary);border-radius:var(--radius-pill);padding:1px 8px}.wcal .wc-day .wc-badge.off{background:var(--error-600)}.wcal .wc-sc{text-align:center;width:48px;background:var(--color-surface)}.sc{display:inline-flex;width:28px;height:28px;border-radius:var(--radius-pill);align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--text-xs)}.sc-am{background:var(--info-100);color:var(--info-700)}.sc-pm{background:var(--warning-050);color:var(--warning-800)}.wcal .wc-time{white-space:nowrap;font-weight:var(--fw-semibold);color:var(--color-primary);font-size:var(--text-sm)}.wcal .wc-content b{font-weight:var(--fw-medium);cursor:pointer}.wcal .wc-content b:hover{color:var(--color-primary)}.wcal .wc-empty{cursor:pointer}.wcal .wc-empty:hover{background:var(--primary-000)}.wcal .wc-add{font-style:italic;font-size:var(--text-sm);color:var(--text-disabled)}.wcal .wc-empty:hover .wc-add{color:var(--color-primary)}table.rgrid{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:820px;table-layout:fixed}table.rgrid thead th:first-child{width:66px}.rgrid-scroll{max-height:calc(100vh - 320px);min-height:360px;overflow:auto;position:relative}.rgrid-scroll table.rgrid thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--color-divider),inset 0 1px 0 var(--color-divider)}@media print{.rgrid-scroll{max-height:none;min-height:0;overflow:visible}.rgrid-scroll table.rgrid thead th{position:static}}table.rgrid th{background:var(--gray-200);padding:8px 10px;font-weight:var(--fw-semibold);border:1px solid var(--color-divider);white-space:nowrap;font-size:var(--text-xs);color:var(--text-muted)}table.rgrid th.rg-today{background:var(--primary-000);color:var(--color-primary)}table.rgrid th .rg-off{display:block;font-weight:var(--fw-regular);color:var(--error-600)}table.rgrid td{border:1px solid var(--color-divider);height:46px;vertical-align:top;padding:0;position:relative}table.rgrid tr:hover td{background:none}table.rgrid tr:hover td.rg-hour{background:var(--gray-100)}table.rgrid tr:hover td.rg-cell:hover{background:var(--primary-000)}table.rgrid tr:last-child td{border:1px solid var(--color-divider)}.rgrid .rg-hour{background:var(--gray-100);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;text-align:center;width:66px;white-space:nowrap;vertical-align:middle}table.rgrid tr.rg-end td{height:20px}table.rgrid tr.rg-end td:not(.rg-hour){background:var(--gray-100)}.rgrid tr.rg-end .rg-hour{color:var(--text-disabled)}.rgrid .rg-cell{cursor:pointer;text-align:center;color:var(--text-disabled);vertical-align:middle}.rgrid .rg-cell:hover{background:var(--primary-000)}.rgrid .rg-cell .rg-add{font-size:18px;font-weight:var(--fw-medium);color:var(--gray-400);opacity:.35;transition:opacity .12s ease,color .12s ease}.rgrid .rg-cell:hover .rg-add{color:var(--color-primary);opacity:1}.rg-block{position:absolute;z-index:1;box-sizing:border-box;min-height:16px;text-align:left;border-radius:var(--radius-sm);padding:6px 8px;display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);font-weight:500;border-left:3px solid;cursor:pointer;min-width:0;overflow:hidden;overflow-wrap:anywhere}.rg-block b{font-weight:var(--fw-semibold)}.rg-block span{line-height:1.3}.rg-block>span:not(.rg-org){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rg-block .rg-org{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rg-block .rg-org{opacity:.8}.rg-block.rg-live{background:var(--info-100);color:var(--info-800);border-color:var(--info-600)}.rg-block.rg-wait{background:var(--warning-050);color:var(--warning-900);border-color:var(--warning-500)}.rg-block.rg-done{background:var(--gray-200);color:var(--text-muted);border-color:var(--gray-500)}.rg-block.rg-plan{background:var(--primary-000);color:var(--primary-800);border-color:var(--color-primary)}.rg-block.rg-short{padding:1px 6px;flex-direction:row;align-items:baseline;gap:6px}.rg-block.rg-short b{flex:none}.rg-block.rg-short>span:not(.rg-org){display:inline;-webkit-line-clamp:none;white-space:nowrap;text-overflow:ellipsis}@media print{.no-print,.page-crumbs{display:none!important}}.cal-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.cal-toolbar .grow{flex:1}.cal-toolbar .cal-search{flex:0 1 280px;min-width:170px}.cal-toolbar .btn,.cal-toolbar .tb-input{height:34px}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav .nav-arrow{width:34px;height:34px;flex:none;display:grid;place-items:center;cursor:pointer;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);color:var(--text-muted)}.cal-nav .nav-arrow:hover{background:var(--primary-000);border-color:var(--color-primary);color:var(--color-primary)}.cal-nav .nav-arrow svg{width:16px;height:16px}.cal-range{height:34px;display:inline-flex;align-items:center;padding:0 10px;cursor:pointer;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-primary);white-space:nowrap}.cal-range:hover{border-color:var(--color-primary)}.cal-range .ant-picker{padding:0}.cal-range .ant-picker-input>input{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-primary);cursor:pointer}.cal-seg{display:flex;border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.cal-seg button{display:flex;align-items:center;gap:6px;height:32px;padding:0 14px;cursor:pointer;border:0;border-right:1px solid var(--color-divider);background:var(--color-surface);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.cal-seg button:last-child{border-right:0}.cal-seg button:hover{background:var(--gray-200)}.cal-seg button.active{background:var(--primary-000);color:var(--color-primary)}.cal-seg svg{width:15px;height:15px}.cal-layout{display:flex;gap:16px;align-items:flex-start}.cal-filter{width:272px;flex:none;padding:16px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.cal-filter-head{font-weight:var(--fw-bold);font-size:var(--text-sm);margin-bottom:14px;color:var(--text-primary)}.cal-fgroup+.cal-fgroup{margin-top:16px}.cal-fgroup-lbl{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);margin-bottom:8px}.cal-fgroup-lbl .count{font-weight:var(--fw-regular);color:var(--text-subtle)}.cal-fgroup .ant-select{width:100%;font-size:var(--text-xs)}.cal-fgroup .ant-select.ant-select-outlined:not(.ant-select-customize-input){height:36px;min-height:36px;border-radius:6px;border-color:var(--color-divider);box-shadow:none}.cal-fgroup .ant-select .ant-select-content,.cal-fgroup .ant-select input{font-size:var(--text-xs)}.cal-fgroup .ant-select .ant-select-suffix{color:var(--text-subtle)}.cal-fgroup .ant-select.ant-select-outlined:not(.ant-select-disabled):hover{border-color:var(--primary-200)}.cal-fgroup .ant-select.ant-select-outlined.ant-select-focused:not(.ant-select-disabled),.cal-fgroup .ant-select.ant-select-outlined.ant-select-open:not(.ant-select-disabled),.cal-fgroup .ant-select.ant-select-outlined:not(.ant-select-disabled):focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--primary-000)}.cal-fgroup-sub{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:var(--text-sm);color:var(--text-secondary)}.cal-leaders{max-height:340px;overflow-y:auto}.cal-leader-chk{display:flex;align-items:center;gap:7px;padding:6px 2px;cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.cal-leader-chk:hover{color:var(--color-primary)}.cal-leader-chk input{width:15px;height:15px;flex:none;accent-color:var(--color-primary)}.cal-leader-dot{width:8px;height:8px;border-radius:50%;flex:none}.cal-filter-empty{font-size:var(--text-sm);color:var(--text-disabled);font-style:italic}.cal-body{flex:1;min-width:0}.lgrid-wrap{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}table.lgrid{width:100%;border-collapse:collapse;min-width:900px;table-layout:fixed}table.lgrid thead th{background:var(--gray-200);padding:12px 14px;text-align:left;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary);border-bottom:1px solid var(--color-divider)}table.lgrid thead th.lg-daycol{width:108px;text-align:center}table.lgrid thead th.lg-sccol{width:56px;text-align:center}table.lgrid thead th.lg-ldrcol{background:var(--primary-000);color:var(--text-primary);white-space:normal;font-size:var(--text-sm);font-weight:var(--fw-bold);border-bottom:3px solid var(--color-primary)}.lgrid .lg-rank{display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);margin-bottom:2px}table.lgrid tbody td{padding:10px 12px;vertical-align:top;overflow:hidden;color:var(--text-primary);border-bottom:1px solid var(--color-divider);border-right:1px solid var(--color-divider)}table.lgrid tbody td:last-child{border-right:0}table.lgrid tbody tr:hover td{background:none}.lgrid .lg-day{background:var(--gray-100);text-align:center;vertical-align:middle}.lgrid .lg-day.wc-wknd{background:var(--primary-000)}.lgrid .lg-day b{display:block;font-weight:var(--fw-bold);color:var(--color-primary);font-size:var(--text-sm)}.lgrid .lg-day span{display:block;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted);margin-top:2px}.lgrid .lg-day .wc-badge{display:inline-block;margin-bottom:4px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-white);font-size:12px;font-weight:var(--fw-bold)}.lgrid .lg-day .wc-badge.off{background:var(--error-600)}.lgrid .lg-sc{background:var(--gray-100);text-align:center;vertical-align:middle}.lgrid .lg-empty{color:var(--text-disabled);text-align:center;font-size:var(--text-sm);padding:6px 0}.ev-card{background:var(--color-surface);border:1px solid var(--color-divider);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:9px 11px;margin-bottom:7px;cursor:pointer;font-size:var(--text-xs);box-shadow:var(--shadow-sm);min-width:0;overflow-wrap:anywhere}.ev-card:last-child{margin-bottom:0}.ev-card:hover{border-color:var(--color-primary)}.ev-card.ev-cancelled{opacity:.65}.ev-card.ev-cancelled .ev-title{text-decoration:line-through}.ev-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ev-time{font-weight:var(--fw-bold);color:var(--text-primary)}.ev-tag{padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:var(--fw-bold);background:var(--primary-000);color:var(--primary-600)}.ev-tag.ev-tag-red{background:var(--error-000);color:var(--error-600)}.ev-title{margin-top:3px;font-weight:var(--fw-medium);color:var(--text-primary)}.ev-loc{margin-top:5px;font-weight:var(--fw-bold);color:var(--text-primary)}.ev-note{margin-top:2px;font-size:12px;color:var(--text-subtle)}.tbl tbody tr.cal-day-row td{background:var(--primary-000);color:var(--primary-600);font-weight:var(--fw-bold);font-size:var(--text-sm)}.tbl tbody tr.cal-day-row:hover td{background:var(--primary-000)}.cal-list-leaders{font-weight:var(--fw-bold);color:var(--primary-600)}.cal-list-title{color:var(--text-secondary);margin-top:3px}.mcal-wrap{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.mcal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--gray-200);border-bottom:1px solid var(--color-divider)}.mcal-head div{padding:10px;text-align:center;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary)}.mcal-body{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.mcal-cell{min-height:118px;padding:8px;min-width:0;overflow:hidden;background:var(--color-surface);border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.mcal-cell.outside{background:var(--gray-100)}.mcal-cell.outside .mcal-date{color:var(--text-disabled)}.mcal-cell.today{box-shadow:inset 0 0 0 2px var(--color-primary)}.mcal-date{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-primary);display:flex;justify-content:space-between;gap:4px}.mcal-date .mcal-off{font-size:12px;font-weight:var(--fw-semibold);color:var(--error-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcal-plbl{display:flex;align-items:center;gap:4px;margin-top:5px;font-size:12px;font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase}.mcal-plbl:before{content:"";width:5px;height:5px;border-radius:50%;flex:none;background:currentColor}.mcal-plbl.s{color:var(--warning-950)}.mcal-plbl.c{color:var(--color-primary)}.mcal-plbl.a{color:var(--success-800)}.mcal-ev{margin-top:2px;padding:2px 6px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);background:var(--primary-000);color:var(--primary-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcal-ev:hover{background:var(--primary-100)}.mcal-ev.cancelled{text-decoration:line-through;opacity:.7}.mcal-more{margin-top:3px;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.pcal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.pcal-head-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pcal-head-left h1{margin:0;font-size:var(--text-xl);font-weight:var(--fw-bold)}.pcal-legend{display:flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.pcal-legend .lg-dot{width:8px;height:8px;border-radius:50%}.pcal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.pcal-stat{display:flex;align-items:stretch;gap:14px;padding:16px 18px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.pcal-stat.clickable{cursor:pointer}.pcal-stat.clickable:hover{border-color:var(--color-primary)}.pcal-stat .bar{width:4px;border-radius:4px;flex:none}.pcal-stat .lbl{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--text-secondary)}.pcal-stat .num{margin-top:4px;font-size:26px;font-weight:var(--fw-bold);line-height:1.1;color:var(--text-primary)}.pcal-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.pcal-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pcal-toolbar .grow{flex:1}.pcal-period{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--text-primary)}.pcal-cal{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.pcal-cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--color-divider)}.pcal-cal-head div{padding:10px;text-align:center;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary)}.pcal-cal-body{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.pcal-cell{min-height:108px;padding:6px;min-width:0;overflow:hidden;cursor:pointer;background:var(--color-surface);border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.pcal-cell.outside{background:var(--gray-100)}.pcal-cell.outside .pcal-date{color:var(--text-disabled)}.pcal-cell.today{box-shadow:inset 0 0 0 2px var(--color-primary)}.pcal-cell.today .pcal-date{color:var(--color-primary)}.pcal-date{display:flex;justify-content:space-between;gap:4px;align-items:baseline;margin-bottom:4px;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-secondary)}.pcal-date .pcal-off{font-size:12px;font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcal-ev{margin-top:3px;padding:3px 6px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:var(--fw-medium);line-height:1.35;display:flex;flex-wrap:nowrap;align-items:baseline;gap:0 4px;overflow:hidden;white-space:nowrap}.pcal-ev>.t{flex:none;font-weight:var(--fw-bold)}.pcal-ev>.n{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-rail{display:flex;flex-direction:column;gap:14px}.rail-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px}.rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.03em;color:var(--text-primary)}.rail-link{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--color-primary);cursor:pointer;white-space:nowrap}.rail-empty{font-size:var(--text-sm);font-style:italic;color:var(--text-disabled)}.upcoming-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-divider);cursor:pointer}.upcoming-item:last-child{border-bottom:0;padding-bottom:0}.upcoming-item:hover .upcoming-title{color:var(--color-primary)}.upcoming-date{flex:none;width:44px;text-align:center;padding:5px 0;background:var(--primary-000);border-radius:var(--radius-sm)}.upcoming-date .u-d{font-size:var(--text-md);font-weight:var(--fw-bold);line-height:1.1;color:var(--primary-600)}.upcoming-date .u-m{font-size:12px;font-weight:var(--fw-bold);text-transform:uppercase;color:var(--primary-600)}.upcoming-body{flex:1;min-width:0}.upcoming-title{font-size:var(--text-sm);font-weight:var(--fw-bold);line-height:1.35;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.upcoming-time{margin-top:3px;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted)}@media(max-width:1280px){.pcal-layout{grid-template-columns:minmax(0,1fr)}.pcal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.cal-layout{flex-direction:column}.cal-filter{width:100%}}.ec-task-modal .task-modal-label{font-size:14px;font-weight:var(--fw-semibold, 600);color:var(--text-primary, #111827);margin-bottom:8px}.ec-task-modal .task-modal-err{margin-top:4px;font-size:14px;font-weight:var(--fw-medium, 500);color:var(--error, #dc2626)}.ec-task-modal .task-modal-hint{margin-top:8px;font-size:12px;font-weight:var(--fw-regular, 400);color:var(--text-disabled, #9ca3af);line-height:1.5}.ec-task-modal .ant-upload-drag{border-radius:8px;background:#fff}.ec-task-modal .task-modal-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:90px;padding:8px 16px;color:var(--text-muted, #6b7280)}.ec-task-modal .task-modal-drop-text{font-size:14px;font-weight:var(--fw-medium, 500)}.ec-task-modal .ant-upload-drag:hover .task-modal-drop,.ec-task-modal .ant-upload-drag-hover .task-modal-drop{color:var(--primary-600, #0d47a1)}.ec-task-modal .ant-tag,.ec-task-modal .ant-upload-list-item-name,.ec-task-modal .ant-upload-hint,.ec-task-modal .ant-form-item-explain,.ec-task-modal .ant-typography{font-size:14px}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled),.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled){background-color:var(--primary-600, #0d47a1);color:#fff}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled) .ant-select-item-option-state,.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled) .anticon,.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled) .anticon{color:#fff}.ant-select-dropdown:hover .ant-select-item-option-selected:not(.ant-select-item-option-active){background-color:transparent}.ant-select-dropdown .ant-select-item-option,.ant-cascader-menu-item{transition:none}.ant-select-open:not(.ant-select-show-search):not(.ant-select-disabled) .ant-select-content{color:var(--text-primary, #2C2F32)}.ec-task-modal .ant-select-single{height:auto;min-height:var(--ant-control-height, 32px)}.ec-task-modal .ant-select-single .ant-select-content{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5}.ant-select-content-has-value:not(.ant-select-content-has-search-value) .ant-select-input{caret-color:transparent}.ec-task-modal .st-table-wrap{border:1px solid var(--border-light, #E8E9EA);border-radius:var(--radius-md, 8px);overflow-x:auto}.ec-task-modal .st-table{width:100%;min-width:620px;border-collapse:collapse;font-size:14px;table-layout:fixed}.ec-task-modal .st-table thead tr{background:var(--gray-200, #F3F4F5)}.ec-task-modal .st-table th{padding:10px 6px;font-size:14px;font-weight:var(--fw-bold, 700);color:var(--text-primary, #2C2F32);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-light, #E8E9EA)}.ec-task-modal .st-table td{padding:8px 6px;vertical-align:top;border-bottom:1px solid var(--border-light, #E8E9EA)}.ec-task-modal .st-table tbody tr:last-child td{border-bottom:none}.ec-task-modal .st-table td.st-idx{text-align:center;color:var(--text-subtle, #6F767E);line-height:32px}.ec-task-modal .st-table td.st-act{text-align:center;padding-inline:0}.ec-task-modal .st-table .st-req{color:var(--error, #dc2626)}.ec-task-modal .st-table .ant-select-single{height:var(--ant-control-height, 32px)}.ec-task-modal .st-table .ant-select-single .ant-select-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-task-modal .st-table .ant-select-single .ant-select-selector,.ec-task-modal .st-table .ant-picker{padding-inline:8px}.ec-task-modal .st-table .st-th-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:root{--sidebar-w: 272px;--sidebar-w-collapsed: 76px;--header-h: 72px}.ec-app{min-height:100vh;background:var(--bg-base)}.ec-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;gap:16px;padding:0 24px;color:var(--color-white);z-index:150;background:var(--color-primary) url(/header-background.png) left center / auto 100% no-repeat;box-shadow:var(--shadow-md);overflow:visible}.ec-brand{display:flex;align-items:center;gap:12px;min-width:0;z-index:1}.ec-emblem{width:52px;height:52px;flex:none;object-fit:contain}.ec-bt{line-height:1.25;min-width:0}.ec-bt .b1,.ec-bt .b2{font-weight:700;font-size:16px;letter-spacing:.3px;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-bt .b2{margin-top:2px}.ec-h-actions{display:flex;align-items:center;gap:14px;z-index:1}.ec-topnav{flex:0 0 auto;margin:0 auto;display:flex;align-items:center;gap:6px;z-index:1}.ec-tn-group{position:relative}.ec-tn-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:none;border-radius:var(--radius-md);cursor:pointer;font:inherit;font-weight:500;font-size:var(--text-md);white-space:nowrap;color:var(--color-white);background:transparent;transition:background .15s,color .15s}.ec-tn-btn:hover{background:#ffffff2e}.ec-tn-btn.active,.ec-tn-btn.open{background:#fff;color:var(--color-primary);font-weight:600}.ec-tn-chev{transition:transform .15s}.ec-tn-btn.open .ec-tn-chev{transform:rotate(180deg)}.ec-tn-dd{left:0;right:auto;top:calc(100% + 8px);min-width:288px}@media(max-width:1366px){.ec-tn-btn{padding:0 10px}}@media(max-width:1150px){.ec-topnav{gap:2px}.ec-tn-btn{gap:6px}.ec-tn-ic{display:none}}.ec-h-icon{width:40px;height:40px;border-radius:50%;background:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);cursor:pointer;position:relative;border:none;box-shadow:var(--shadow-sm)}.ec-h-icon:hover{background:#fff}.ec-h-icon svg{width:20px;height:20px}.ec-h-actions .ant-badge{display:inline-flex}.ec-h-actions .ant-btn{width:40px;height:40px;padding:0;border-radius:50%!important;background:transparent!important;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;border:none}.ec-h-actions .ant-btn:hover{background:#ffffff2e!important}.ec-h-actions .ant-btn .anticon{color:var(--color-white);font-size:24px}.ec-h-actions .ant-badge .ant-badge-count{box-shadow:none}.ec-h-actions .topbar-user{background:transparent;padding:4px 8px 4px 4px;border-radius:var(--radius-pill);gap:10px}.ec-h-actions .topbar-user:hover{background:#ffffff2e}.ec-h-actions .topbar-user-name{color:var(--color-white);font-weight:500;font-size:var(--text-md)}.ec-h-actions .topbar-user-chevron{color:var(--color-white)}.ec-h-actions .topbar-user-avatar{width:40px;height:40px;font-size:14px;border:2px solid rgba(255,255,255,.9);background:#ffffff26;color:var(--color-white)}.ec-sidebar{position:fixed;top:calc(var(--header-h) + 12px);left:12px;bottom:12px;width:var(--sidebar-w);z-index:40;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-divider);display:flex;flex-direction:column;transition:width .2s ease}.ec-app.ec-collapsed .ec-sidebar{width:var(--sidebar-w-collapsed)}.ec-collapse{width:28px;height:28px;border-radius:var(--radius-md);border:none;background:var(--gray-100);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}.ec-collapse:hover{background:var(--gray-200);color:var(--color-primary)}.ec-collapse svg{width:16px;height:16px;transition:.2s}.ec-app.ec-collapsed .ec-collapse svg{transform:rotate(180deg)}.ec-sb-scroll{flex:1;overflow-y:auto;padding:10px 10px 16px}.ec-sb-scroll::-webkit-scrollbar{width:6px}.ec-sb-scroll::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.ec-grp-label{display:flex;align-items:center;gap:6px;padding:14px 8px 6px 2px;margin-bottom:2px}.ec-grp-head{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:none;padding:4px;cursor:pointer;font-family:inherit;text-align:left;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.3;color:var(--color-primary);border-radius:var(--radius-md)}.ec-grp-head:hover{background:var(--gray-100)}.ec-grp-head .gi{width:20px;flex:none;display:inline-flex;align-items:center;justify-content:center}.ec-grp-head .gl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-grp-head .gchev{flex:none;color:var(--gray-600);transition:transform .2s;transform:rotate(-90deg)}.ec-grp-label.open .ec-grp-head .gchev{transform:none}.ec-app.ec-collapsed .ec-grp-label{justify-content:center;padding:10px 0 4px}.ec-app.ec-collapsed .ec-grp-head{flex:none;justify-content:center;padding:2px;cursor:default}.ec-app.ec-collapsed .ec-grp-head:hover{background:none}.ec-app.ec-collapsed .ec-grp-head .gl,.ec-app.ec-collapsed .ec-grp-head .gchev{display:none}.ec-grp-label.has-toggle{padding-top:12px;padding-right:8px}.ec-app.ec-collapsed .ec-grp-label.has-toggle{flex-direction:column;gap:6px}.ec-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:var(--text-sm);font-weight:500;position:relative;margin-bottom:2px;transition:.12s;width:100%;text-align:left;border:none;background:none;text-decoration:none;font-family:inherit}.ec-nav-item .ni-ic{width:18px;height:18px;flex:none;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.ec-nav-item .ni-ic svg{width:18px;height:18px}.ec-nav-item .lbl{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-nav-item .chev{width:16px;height:16px;color:var(--gray-500);transition:.2s;flex:none}.ec-nav-item .nbadge{background:var(--gray-200);color:var(--text-secondary);font-size:12px;font-weight:600;border-radius:var(--radius-pill);padding:1px 7px;flex:none}.ec-nav-item:hover{background:var(--gray-100)}.ec-nav-item.open,.ec-nav-item.open .ni-ic{color:var(--color-primary)}.ec-nav-item.open .chev{transform:rotate(90deg)}.ec-nav-item.active{background:var(--primary-000);color:var(--color-primary);font-weight:600}.ec-nav-item.active .ni-ic,.ec-nav-item.active .chev{color:var(--color-primary)}.ec-nav-item.active .nbadge{background:var(--color-primary);color:var(--color-text-on-primary)}.ec-nav-item.nav-back{color:var(--color-primary);font-weight:600;margin-bottom:6px}.ec-app.ec-collapsed .ec-nav-item .lbl,.ec-app.ec-collapsed .ec-nav-item .chev,.ec-app.ec-collapsed .ec-nav-item .nbadge{display:none}.ec-app.ec-collapsed .ec-nav-item{justify-content:center;padding:10px 0}.ec-subnav{overflow:hidden;max-height:0;transition:max-height .25s ease;margin-left:6px;padding-left:16px;border-left:1px dashed var(--color-border)}.ec-subnav.show{max-height:900px}.ec-app.ec-collapsed .ec-subnav{display:none}.ec-sub-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);font-size:14px;margin-bottom:1px;text-decoration:none}.ec-sub-item .lbl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-sub-item .bd{width:6px;height:6px;border-radius:50%;background:var(--gray-500);flex:none}.ec-sub-item:hover{background:var(--gray-100);color:var(--text-primary)}.ec-sub-item.active{background:var(--primary-000);color:var(--color-primary);font-weight:600}.ec-sub-item.active .bd{background:var(--color-primary)}.ec-sub-item .nbadge{margin-left:auto;background:var(--gray-200);color:var(--text-secondary);font-size:12px;font-weight:600;border-radius:var(--radius-pill);padding:1px 7px}.ec-sub-item.active .nbadge{background:var(--color-primary);color:var(--color-text-on-primary)}.ec-main{margin-left:calc(var(--sidebar-w) + 24px);padding-top:calc(var(--header-h) + 4px);min-height:100vh;transition:margin-left .2s ease}.ec-app.ec-collapsed .ec-main{margin-left:calc(var(--sidebar-w-collapsed) + 24px)}@media(max-width:900px){.ec-sidebar{display:none}.ec-main{margin-left:0}}.btn-outline{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.btn-outline:hover{background:var(--primary-000)}.btn-outline:active{background:var(--primary-100)}.btn-secondary-outline{background:var(--color-surface);color:var(--gray-800);border:1px solid var(--color-border)}.btn-secondary-outline:hover{background:var(--gray-100)}.btn-secondary-outline:active{background:var(--gray-200)}.btn-toolbar svg{color:var(--color-primary)}.btn-icon{padding:0;width:40px}.btn-icon.btn-sm{width:32px}.btn-icon.btn-lg{width:48px}.ec-page-head{margin:4px 0 18px}.ec-page-head .ec-crumbs{margin-bottom:8px}.ec-page-head h1{font-size:var(--display-xs);line-height:var(--display-xs-lh);font-weight:var(--fw-bold);color:var(--text-primary)}.ec-page-head .ec-sub{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px}.ec-page-head .ec-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.ec-page-head-card{background:var(--color-surface);border:1px solid var(--color-divider);border-bottom:3px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px 20px;margin:0 0 10px}.ec-page-head-card .ec-row{align-items:center}.ec-page-head-card .ec-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.ec-page-head-card .ec-title-back{flex:none;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}.ec-page-head-card .ec-title-back:hover{background:var(--primary-000);color:var(--color-primary);border-color:var(--color-primary)}.ec-page-head-card .ec-title-badge{flex:none;width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-primary);display:grid;place-items:center}@media(max-width:720px){.ec-page-head-card{padding:12px 14px}.ec-page-head-card h1{font-size:var(--text-xl, 20px)}}.ec-meet-head .ec-meet-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ec-meet-head .ec-meet-back{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .15s,color .15s,border-color .15s}.ec-meet-head .ec-meet-back:hover{background:var(--primary-000);border-color:var(--color-primary);color:var(--color-primary)}.ec-meet-head .ec-meet-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;padding-left:42px;color:var(--text-secondary);font-size:var(--text-sm)}.ec-meet-head .ec-meet-meta>span{display:inline-flex;align-items:center;gap:6px}.ec-meet-head .ec-meet-meta svg{width:14px;height:14px;color:var(--color-primary);flex:none}.ec-meet-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ec-live{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--error-000);border:1px solid var(--error-100);color:var(--error-600);font-size:var(--text-xs);line-height:18px;font-weight:var(--fw-bold);letter-spacing:1px;text-transform:uppercase}.ec-live .ec-live-dot{position:relative;display:inline-flex;width:8px;height:8px;border-radius:50%;background:var(--error-500);animation:ec-live-pulse 1.5s infinite}.ec-live .ec-live-dot i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--error-300);animation:ec-live-ping 1.2s cubic-bezier(0,0,.2,1) infinite}@keyframes ec-live-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes ec-live-ping{0%{transform:scale(1);opacity:.75}to{transform:scale(2.2);opacity:0}}.ec-crumbs{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap}.ec-crumbs a{color:var(--color-primary);text-decoration:none;cursor:pointer}.ec-crumbs a:hover{color:var(--primary-500);text-decoration:underline}.ec-crumbs .home{display:inline-flex;align-items:center}.ec-crumbs .home:hover{text-decoration:none}.ec-crumbs .sep{color:var(--gray-500);display:inline-flex}.ec-crumbs .cur{color:var(--color-primary);font-weight:var(--fw-semibold)}.ec-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-divider)}.ec-card-pad{padding:20px 24px}.ec-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-divider)}.ec-card-head h3{font-size:var(--text-lg);font-weight:var(--fw-bold);display:flex;align-items:center;gap:10px}.ec-card-head h3 svg{width:20px;height:20px;color:var(--color-primary)}.ec-grid{display:grid;gap:16px}.ec-grid.g-2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.ec-grid.g-3{grid-template-columns:2fr 1fr}.ec-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px}.ec-toolbar .grow{flex:1}.ec-toolbar.ec-toolbar-bare{padding:0 0 12px}.ec-title-body{color:var(--color-primary);font-weight:var(--fw-bold);font-size:var(--text-xl)}.ec-tbl-wrap{overflow-x:auto}table.ec-tbl{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ec-tbl td{overflow-wrap:anywhere}.ec-tbl.ec-tbl-1line{table-layout:fixed}.ec-tbl-1line tbody td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.ec-tbl-1line tbody td>a,.ec-tbl-1line tbody td>div:not(.ec-actions):not(.ec-tags-row):not(.ec-u),.ec-tbl-1line tbody td>span:not(.ec-badge):not(.ec-chip):not(.badge):not(.chip){display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-tbl-1line tbody td>.ec-badge,.ec-tbl-1line tbody td>.ec-chip,.ec-tbl-1line tbody td>.badge,.ec-tbl-1line tbody td>.chip{max-width:100%}.ec-tbl-1line tbody td>.ec-actions{display:flex;flex-wrap:wrap;overflow:visible;white-space:normal}.ec-tbl-1line tbody td>.ec-u{display:flex}.ec-tbl-1line .ec-u>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-tbl-1line .ec-chip{max-width:100%}.ec-tbl-1line .ec-chip .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-tbl-1line .ec-chip svg{flex:none}.ec-tbl-1line tbody td>div.ec-tags-row{white-space:normal;overflow:visible}.ec-tbl thead th{background:var(--gray-200);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--fw-bold);text-align:left;padding:10px 12px;white-space:normal;vertical-align:bottom}.ec-tbl-1line thead th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-tbl thead th .th{display:flex;align-items:center;gap:6px}.ec-tbl thead th .th svg{width:14px;height:14px;color:var(--gray-700)}.ec-tbl th.ec-tc,.ec-tbl td.ec-tc{text-align:center}.ec-tbl-1line tbody td.ec-tc>.ec-u,.ec-tbl-1line tbody td.ec-tc>.ec-actions{justify-content:center}.ec-tbl-1line tbody td.ec-tc>a.ec-chip{display:inline-flex}.ec-tbl thead tr.ec-col-filter th{background:var(--color-surface);padding:8px 12px;font-weight:var(--fw-regular);border-bottom:1px solid var(--color-divider)}.ec-tbl thead tr.ec-col-filter .ec-input{height:34px;padding:0 10px}.ec-tbl thead tr.ec-col-filter .ec-input input{font-size:var(--text-sm)}.ec-tbl thead tr.ec-col-filter .ec-input svg{width:16px;height:16px}.ec-tbl thead tr.ec-col-filter input[type=date]{color:var(--text-primary)}.ec-tbl thead tr.ec-col-filter input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.ec-tbl thead tr.ec-col-filter input[type=date]:invalid{color:var(--text-disabled)}.ec-tbl thead tr.ec-col-filter .ec-range-picker{width:100%;height:34px;border-radius:var(--radius-md);border-color:var(--color-border);background:var(--color-surface)}.ec-tbl thead tr.ec-col-filter .ec-range-picker input{font-size:var(--text-sm)}.ec-tbl thead tr.ec-col-filter .ec-range-picker:hover{border-color:var(--color-border-strong)}.ec-tbl thead tr.ec-col-filter .ec-range-picker{padding-inline:8px}.ec-tbl thead tr.ec-col-filter .ec-range-picker .ant-picker-suffix{display:none}.ec-tbl thead tr.ec-col-filter .ec-range-picker .ant-picker-range-separator{padding-inline:4px}.ec-tbl tbody td{padding:11px 12px;border-bottom:1px solid var(--color-divider);vertical-align:middle;color:var(--text-primary)}.ec-tbl tbody tr:hover{background:var(--gray-100)}.ec-tbl tbody tr.ec-row-link{cursor:pointer}.ec-tbl tbody tr.ec-row-link .ec-actions{cursor:default}.ec-tbl tbody tr.selected{background:var(--primary-000)}.ec-tbl .ec-empty-row{text-align:center;color:var(--text-muted);padding:36px 12px}.ec-tname{font-weight:var(--fw-medium);color:var(--text-primary)}a.ec-tname:hover{color:var(--color-primary)}.ec-actions{display:flex;gap:4px}.ec-actions .ec-ia{width:30px;height:30px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;background:none;border:none;transition:.15s}.ec-actions .ec-ia:hover{background:var(--gray-200);color:var(--color-primary)}.ec-actions .ec-ia svg{width:16px;height:16px}.ec-tbl-1line tbody td>.ec-actions,.ec-antd-tbl .ec-actions{display:grid;grid-template-columns:repeat(3,30px);gap:4px}.ec-tbl-1line tbody td>.ec-actions.ec-actions-4{display:flex;flex-wrap:wrap;max-width:132px;margin-inline:auto}.ec-actions .ec-ia.t-blue{color:var(--color-primary)}.ec-actions .ec-ia.t-purple{color:var(--purple-600)}.ec-actions .ec-ia.t-green{color:var(--success-700)}.ec-actions .ec-ia.t-amber{color:var(--warning-700)}.ec-actions .ec-ia.t-red{color:var(--error-600)}.ec-actions .ec-ia.t-blue:hover{background:var(--primary-000);color:var(--primary-700)}.ec-actions .ec-ia.t-purple:hover{background:var(--purple-050);color:var(--purple-700)}.ec-actions .ec-ia.t-green:hover{background:var(--success-050);color:var(--success-800)}.ec-actions .ec-ia.t-amber:hover{background:var(--warning-050);color:var(--warning-800)}.ec-actions .ec-ia.t-red:hover{background:var(--error-000);color:var(--error-700)}.ec-actions .ec-ia:disabled{opacity:.4;cursor:not-allowed}.ec-actions .ec-ia:disabled:hover{background:none}.ec-u{display:flex;align-items:center;gap:10px}.ec-avatar{width:34px;height:34px;border-radius:50%;flex:none;background:var(--primary-600);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);color:var(--color-text-on-primary);font-size:14px}.ec-avatar.sm{width:28px;height:28px;font-size:12px}.ec-progress{height:8px;background:var(--gray-200);border-radius:var(--radius-pill);overflow:hidden;min-width:90px}.ec-progress>i{display:block;height:100%;background:var(--color-primary);border-radius:inherit}.ec-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-divider);padding:0 20px;overflow-x:auto}.ec-tabs .ec-tab{padding:12px 16px;font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:var(--text-sm)}.ec-tabs .ec-tab:hover{color:var(--text-primary)}.ec-tabs .ec-tab svg{color:var(--primary-500)}.ec-tabs .ec-tab.active svg{color:var(--color-primary)}.ec-tabs .ec-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--fw-semibold)}.ec-tabs.flush{padding:0}.ec-tabs .ec-tab .cnt{font-size:var(--text-xs);font-weight:500;background:var(--gray-200);border-radius:var(--radius-pill);padding:1px 7px;color:var(--text-secondary)}.ec-tabs .ec-tab.active .cnt{background:var(--primary-000);color:var(--color-primary)}.ec-tabs.compact .ec-tab{padding:8px 10px;gap:4px}.ec-tabs .ec-tab .cnt.cnt-alert,.ec-tabs .ec-tab.active .cnt.cnt-alert{background:var(--error-500);color:var(--color-white);font-weight:var(--fw-bold)}.ec-tabs-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--color-divider);margin-bottom:20px}.ec-tabs-row>.ec-tabs{border-bottom:0;padding:0;flex:1 1 auto}.btn-xs{height:26px;padding:0 10px;font-size:var(--text-xs);gap:4px;border-radius:var(--radius-md)}.btn-xs svg{width:14px;height:14px}.ec-stat-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ec-stat-mini{background:var(--gray-100);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:8px;text-align:center}.ec-stat-mini .sl{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:2px}.ec-stat-mini .sv{font-size:22px;font-weight:var(--fw-bold);line-height:1.2}.ec-check-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-divider);transition:background .15s,border-color .15s}.ec-check-item:hover{border-color:var(--gray-400)}.ec-check-item.done{background:var(--army-000)}.ec-check-item.done .ec-check-title{text-decoration:line-through;color:var(--text-secondary)}.ec-checkbox{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--gray-400);background:transparent;color:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .15s,border-color .15s}.ec-checkbox.on{background:var(--success-600);border-color:var(--success-600)}.ec-check-title{flex:1;min-width:0;font-weight:var(--fw-medium)}.ec-check-meta{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted);white-space:nowrap}.ec-check-meta.late{color:var(--error-600)}.ec-check-ia{background:none;border:none;cursor:pointer;display:inline-flex;color:var(--text-muted);opacity:.55;transition:opacity .15s,color .15s}.ec-check-ia:hover{opacity:1;color:var(--color-primary)}.ec-check-ia.danger:hover{color:var(--error-600)}.ec-quick-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ec-quick-card{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;margin-bottom:12px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-shrink:0}.ec-quick-label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px;margin-right:4px}.ec-quick-label svg{width:16px;height:16px;color:var(--color-primary)}.ec-quick-hint{margin-left:auto;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.ec-quick-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-md);background:var(--primary-000);color:var(--primary-700);border:1px solid var(--primary-150);font-size:var(--text-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.ec-quick-btn:hover{background:var(--primary-100);border-color:var(--primary-200);color:var(--primary-800)}.ec-quick-btn svg{width:16px;height:16px}.ec-quick-btn.q-neutral{background:var(--gray-100);color:var(--text-secondary);border-color:var(--color-border)}.ec-quick-btn.q-neutral:hover{background:var(--gray-200);color:var(--text-primary)}.ec-quick-btn.q-green{background:var(--success-000);color:var(--success-800);border-color:var(--success-100)}.ec-quick-btn.q-green:hover{background:var(--success-050);border-color:var(--success-200)}.ec-quick-btn.q-red{background:var(--error-000);color:var(--error-600);border-color:var(--error-100)}.ec-quick-btn.q-red:hover{background:var(--error-000);border-color:var(--error-200)}.ec-stepper{display:flex;align-items:center;justify-content:space-between;gap:0;flex-wrap:nowrap;margin:0}.ec-stepper .ec-step{display:flex;align-items:center;gap:12px;cursor:pointer;background:none;border:none;padding:6px 10px;border-radius:var(--radius-pill);transition:background .15s;flex:none;min-width:0}.ec-stepper .ec-step:first-child{margin-left:-10px}.ec-stepper .ec-step:last-child{margin-right:-10px}.ec-stepper .ec-step:hover{background:var(--gray-100)}.ec-stepper .ec-step:hover .tx{color:var(--text-primary)}.ec-stepper .ec-step:focus-visible{outline:none;box-shadow:var(--ring)}.ec-stepper .num{width:32px;height:32px;border-radius:50%;background:var(--gray-200);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--text-sm);flex:none;transition:.15s}.ec-stepper .ec-step:hover .num{background:var(--gray-300);color:var(--text-secondary)}.ec-stepper .ec-step.on .num{background:var(--color-primary);color:var(--color-white);box-shadow:0 0 0 4px var(--primary-000)}.ec-stepper .ec-step.on:hover .num{background:var(--color-primary);color:var(--color-white)}.ec-stepper .ec-step.done .num{background:var(--primary-000);color:var(--primary-700)}.ec-stepper .ec-step .tx{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-stepper .ec-step.on .tx{color:var(--text-primary);font-weight:var(--fw-semibold)}.ec-stepper .ln{flex:1 1 auto;min-width:16px;height:2px;background:var(--color-divider)}@media(max-width:1000px){.ec-stepper .ec-step .tx{display:none}.ec-stepper .ec-step.on .tx{display:inline}}@media(max-width:1100px){.ec-stepper .ln{width:24px}}.ec-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);line-height:18px;font-weight:var(--fw-medium);white-space:nowrap;max-width:100%}.ec-badge .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.ec-badge svg{width:13px;height:13px;flex:none}.ec-badge.b-gray{background:var(--gray-200);color:var(--gray-700)}.ec-badge.b-red{background:var(--error-000);color:var(--error-600)}.ec-badge.b-green{background:var(--success-000);color:var(--success-800)}.ec-badge.b-orange{background:var(--warning-050);color:var(--warning-800)}.ec-badge.b-blue{background:var(--info-100);color:var(--info-700)}.ec-badge.b-purple{background:var(--purple-050);color:var(--purple-700)}.ec-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--radius-pill);font-size:var(--text-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-primary);cursor:default}.ec-chip svg{width:14px;height:14px;color:var(--primary-500)}.ec-chip.clickable{cursor:pointer}.ec-chip.clickable:hover{border-color:var(--color-primary);color:var(--color-primary)}.ec-chip.clickable:hover svg{color:var(--color-primary)}.ec-chip.filled{background:var(--primary-000);border-color:transparent;color:var(--primary-700)}.ec-chip.filled svg{color:var(--primary-700)}.ec-chips-row{display:flex;gap:8px;flex-wrap:wrap}.ec-alert{display:flex;align-items:flex-start;gap:10px;border-radius:var(--radius-md);padding:12px 14px;font-size:var(--text-sm)}.ec-alert svg{width:20px;height:20px;flex:none}.ec-alert>.anticon{flex:none;line-height:1}.ec-alert.ok{background:var(--success-000);color:var(--success-900)}.ec-alert.info{background:var(--info-100);color:var(--info-800)}.ec-alert.warn{background:var(--warning-050);color:var(--warning-900)}.ec-alert.err{background:var(--error-000);color:var(--error-800)}.ec-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ec-stat{display:flex;gap:14px;align-items:flex-start;padding:18px 20px}.ec-stat .si{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex:none}.ec-stat .si svg{width:24px;height:24px}.ec-stat .sv{font-size:26px;font-weight:var(--fw-bold);line-height:1.1}.ec-stat .sl{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px}.ec-field{display:flex;flex-direction:column;gap:6px}.ec-field>label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.ec-field .req{color:var(--error-500)}.ec-lbl-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ec-note{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-regular)}.ec-input{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:.15s;color:var(--text-primary)}.ec-input.sm{height:32px}.ec-input svg{width:18px;height:18px;color:var(--primary-500);flex:none}.ec-input input,.ec-input textarea{border:none;outline:none;background:none;flex:1;font:inherit;color:var(--text-primary);min-width:0}.ec-input input::placeholder,.ec-input textarea::placeholder{color:var(--text-disabled)}.ec-input:hover{border-color:var(--color-border-strong)}.ec-input:focus-within{border-color:var(--color-primary);box-shadow:var(--ring)}.ec-input.textarea{height:auto;align-items:flex-start}.ec-input textarea{resize:vertical;padding:8px 0;line-height:var(--text-md-lh)}.ec-bare-select{border:none;background:none;outline:none;font:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;max-width:170px}.ec-input .ant-picker{padding:0;height:auto;border:none;background:none;box-shadow:none!important}.ec-input .ant-picker-input>input{font-size:var(--text-sm)}.ec-view-toggle{display:flex;gap:2px;background:var(--gray-200);border-radius:var(--radius-md);padding:3px}.ec-view-btn{width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.ec-view-btn:hover{background:var(--color-surface);color:var(--color-primary)}.ec-view-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.ec-view-toggle.lg{gap:4px;padding:4px;background:var(--gray-200);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.ec-view-toggle.lg .ec-view-btn{width:40px;height:32px;color:var(--color-primary)}.ec-view-toggle.lg .ec-view-btn:hover{background:var(--color-surface)}.ec-view-toggle.lg .ec-view-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.ec-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.ec-two-col{grid-template-columns:1fr}}.ec-form-col{display:flex;flex-direction:column;gap:16px}.ec-sect+.ec-sect{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-divider)}.ec-sect-h{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.ec-sect-h svg{width:16px;height:16px;color:var(--color-primary)}.ec-sect-h .ant-btn-variant-solid svg,.ec-sect-h .ant-btn-primary:not(.ant-btn-background-ghost) svg{color:currentColor}.ec-sect-h .cnt{font-size:var(--text-xs);background:var(--primary-000);color:var(--color-primary);border-radius:var(--radius-pill);padding:1px 8px;font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0}.ec-sect-h .act{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:5px 0;text-transform:none;letter-spacing:0;font-weight:var(--fw-regular)}.ec-empty-line{font-size:var(--text-sm);color:var(--text-muted);padding:6px 2px}.ec-add-row{width:100%;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:none;padding:10px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);transition:.15s}.ec-add-row:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--primary-000)}.ec-add-row svg{width:16px;height:16px}.ec-hl-box{display:flex;align-items:center;gap:10px;background:var(--info-100);border:1px solid var(--info-300);border-radius:var(--radius-md);padding:14px 16px;font-size:var(--text-sm);color:var(--info-800);cursor:pointer}.ec-sess{display:flex;align-items:stretch;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;background:var(--color-surface);transition:border-color .15s,box-shadow .15s,background .15s}.ec-sess+.ec-sess{margin-top:10px}.ec-sess:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.ec-sess.dragging{border-color:var(--color-primary);background:var(--primary-000);box-shadow:var(--shadow-md)}.ec-sess .grip{color:var(--text-disabled);cursor:grab;flex:none;display:flex;align-items:center}.ec-sess .grip:active{cursor:grabbing}.ec-sess:hover .grip{color:var(--color-primary)}.ec-sess .no{flex:none;align-self:center;width:28px;height:28px;border-radius:50%;background:var(--primary-000);color:var(--primary-700);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:14px;transition:.15s}.ec-sess:hover .no{background:var(--color-primary);color:var(--color-white)}.ec-sess .when{flex:none;min-width:96px;border-left:3px solid var(--primary-200);padding-left:10px;display:flex;flex-direction:column;justify-content:center;gap:2px;transition:border-color .15s}.ec-sess:hover .when{border-left-color:var(--color-primary)}.ec-sess .when b{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap}.ec-sess .when span{font-size:var(--text-xs);font-weight:500;color:var(--text-muted)}.ec-sess .body{min-width:0;flex:1;align-self:center}.ec-sess .body b{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);overflow-wrap:anywhere}.ec-sess .body p{margin:2px 0 0;font-size:var(--text-xs);font-weight:500;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.ec-sess .body .chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.ec-sess .ec-actions{margin-left:auto;align-self:center;flex:none}.ec-sess-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.ec-sess-empty{display:flex;flex-direction:column;align-items:center;gap:10px;border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:34px 20px;text-align:center;background:var(--gray-100)}.ec-sess-empty .ico{width:56px;height:56px;border-radius:50%;background:var(--primary-000);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.ec-sess-empty b{font-size:var(--text-md);color:var(--text-primary)}.ec-sess-empty>span{font-size:var(--text-sm);color:var(--text-muted);max-width:440px}.ec-tab-pane>.card,.ec-tab-pane>div>.card{padding-left:0;padding-right:0;border:none;box-shadow:none;background:transparent}.ec-form-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-divider)}.ec-form-foot .right{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}.ec-form .form-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.ec-form .form-group{margin-bottom:16px}.ec-form .form-grid-3>.form-group{margin-bottom:0}.ec-form .form-grid-3{margin-bottom:14px}.ec-acc-body-inner .card>:last-child{margin-bottom:0}.ec-form .section-title{font-size:var(--text-md)}.ec-form .ant-picker,.ec-form .ant-select:not(.ant-select-customize-input),.ec-form .ant-input-affix-wrapper,.ec-form .ant-input:not(textarea){min-height:40px;border-radius:var(--radius-md);border-color:var(--color-border)}.ec-form .ant-picker:hover,.ec-form .ant-input-affix-wrapper:hover,.ec-form .ant-input:not(textarea):hover{border-color:var(--color-border-strong)}.ec-form .ant-select:not(.ant-select-disabled):hover{border-color:var(--color-border-strong)!important}.ec-form .ant-picker-focused,.ec-form .ant-select-focused:not(.ant-select-disabled):not(.ant-select-customize-input),.ec-form .ant-input-affix-wrapper-focused,.ec-form .ant-input:not(textarea):focus{border-color:var(--color-primary)!important;box-shadow:var(--ring)!important}.ec-form .ant-picker .ant-picker-suffix{color:var(--text-muted)}.ec-form .ant-input-affix-wrapper>.ant-input:not(textarea){min-height:0}.ec-cal .ant-picker-cell-inner{min-width:32px;height:32px;line-height:32px;border-radius:var(--radius-pill)!important}.ec-cal .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--color-primary);border-radius:var(--radius-pill)}.ec-cal .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{background:var(--color-primary);color:var(--color-white);font-weight:var(--fw-semibold)}.ec-cal .ant-picker-content th{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary)}.ec-cal .ant-picker-header{border-bottom-color:var(--color-divider)}.ec-cal .ant-picker-header-view{font-weight:var(--fw-semibold);font-size:var(--text-sm)}.ec-cal .ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:var(--primary-000);color:var(--primary-700);font-weight:var(--fw-semibold)}.ec-cal .ant-picker-ranges .ant-picker-ok .ant-btn-primary:not(:disabled){background:var(--color-primary)}.ec-stat .si.blue{color:var(--info-600);background:var(--info-100)}.ec-stat .si.orange{color:var(--warning-600);background:var(--warning-050)}.ec-stat .si.green{color:var(--success-700);background:var(--success-000)}.ec-stat .si.red{color:var(--error-600);background:var(--error-000)}.ec-stat .si.gray{color:var(--gray-700);background:var(--gray-200)}.ec-stat.ec-stat-btn{cursor:pointer;text-align:left;width:100%;font:inherit}.ec-stat.ec-stat-btn:hover{border-color:var(--color-border-strong)}.ec-stat.ec-stat-btn.on{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--primary-100)}.ec-h-icon{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:.15s}.ec-h-icon:hover{background:var(--primary-000);color:var(--color-primary);border-color:var(--color-primary)}.ec-type-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.ec-type-tags .ec-badge{font-size:var(--text-sm);line-height:20px;padding:4px 12px;font-weight:var(--fw-semibold)}.ec-type-tags .ec-badge .dot{width:7px;height:7px}.ec-type-tags .ec-badge svg{width:15px;height:15px}.ec-type-tags .ec-badge.b-blue{background:var(--info-200);color:var(--info-800)}.ec-type-tags .ec-badge.b-purple{background:var(--purple-100);color:var(--purple-800)}.ec-type-tags .ec-badge.b-gray{background:var(--gray-300);color:var(--gray-800)}.ec-type-tags .ec-badge.b-green{background:var(--success-000);color:var(--success-900)}.ec-type-tags .ec-badge.b-orange{background:var(--warning-050);color:var(--warning-900)}.ec-type-tags .ec-badge.b-red{background:var(--error-100);color:var(--error-800)}.ec-task-detail .ec-page-head{margin:0 0 10px}.ec-task-detail>.ec-card.ec-card-pad{padding-top:8px}.ec-num-sect{margin:0 0 14px;display:flex;align-items:center;gap:10px;font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--text-primary);flex-wrap:wrap}.ec-num-sect .n{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--fw-bold);flex:none}.ec-num-sect .cnt{background:var(--gray-200);color:var(--text-secondary);border-radius:var(--radius-pill);padding:1px 8px;font-size:var(--text-xs);font-weight:var(--fw-semibold)}.ec-num-sect .act{margin-left:auto;font-weight:var(--fw-regular)}.ec-num-block+.ec-num-block{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-divider)}.ec-num-sect{text-transform:uppercase;letter-spacing:.3px}.ec-num-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:0;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.ec-num-toggle .t{flex:1;min-width:0}.ec-num-toggle:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.ec-num-chev{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:0;cursor:pointer;color:inherit}.ec-num-sect .chev{flex:none;color:var(--text-muted);transition:transform .2s}.ec-num-toggle:hover~.ec-num-chev .chev,.ec-num-chev:hover .chev{color:var(--color-primary)}.ec-num-chev:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.ec-num-block:not(.open) .ec-num-sect .chev{transform:rotate(-90deg)}.ec-num-block:not(.open) .ec-num-sect{margin-bottom:0}.ec-rof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.ec-rof{display:flex;flex-direction:column;gap:4px;min-width:0}.ec-rof .k{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium)}.ec-rof .v{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--fw-medium);overflow-wrap:anywhere}.ec-people-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--color-divider)}.ec-people-row:last-child{border-bottom:0;padding-bottom:0}.ec-people-row>.k{width:140px;flex:none;font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium)}.ec-people-row>.v{flex:1;min-width:200px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-primary)}.ec-people-row>.act{margin-left:auto;flex:none}.ec-rof-grid .ec-rof .k,.ec-rof-note .ec-rof .k{color:var(--color-primary);font-weight:var(--fw-semibold)}.ec-rof-grid .ec-rof .v,.ec-rof-note .ec-rof .v{color:var(--text-primary)}.ec-rof .v a{cursor:pointer;color:var(--color-primary);display:inline-flex;align-items:center;gap:6px}.ec-rof .v a:hover{color:var(--primary-700);text-decoration:underline}.ec-rof .v a:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.ec-rof .v a.is-doc{color:var(--purple-600)}.ec-rof .v a.is-doc:hover{color:var(--purple-700)}.ec-rof-note{margin-top:18px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-divider);border-left:3px solid var(--color-primary);border-radius:var(--radius-md)}.ec-rof-note .ec-rof{gap:8px}.ec-rof-note .v{font-weight:var(--fw-regular);font-size:var(--text-md);line-height:var(--text-md-lh);white-space:pre-wrap}.ec-rof-note .v.is-empty{color:var(--text-muted);font-style:italic}.ec-ball{display:flex;align-items:flex-start;gap:12px;border-radius:var(--radius-md);padding:14px 16px;margin-top:14px}.ec-ball .di{width:36px;height:36px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;flex:none;color:var(--color-white)}.ec-ball .di svg{width:20px;height:20px}.ec-ball>div{min-width:0}.ec-ball>div>b{display:block;font-size:var(--text-sm);font-weight:var(--fw-regular)}.ec-ball>div>span{display:block;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);margin-top:1px}.ec-ball.ball-wait{background:var(--warning-050);border:1px solid var(--warning-200)}.ec-ball.ball-wait .di{background:var(--warning-500)}.ec-ball.ball-do{background:var(--info-100);border:1px solid var(--info-300)}.ec-ball.ball-do .di{background:var(--info-600)}.ec-ball.ball-ok{background:var(--success-000);border:1px solid var(--success-200)}.ec-ball.ball-ok .di{background:var(--success-700)}.ec-ball.ball-no{background:var(--error-000);border:1px solid var(--error-100)}.ec-ball.ball-no .di{background:var(--error-600)}.ec-ball.ball-purple{background:var(--purple-050);border:1px solid var(--purple-200)}.ec-ball.ball-purple .di{background:var(--purple-500)}.ec-ball.ball-gray{background:var(--gray-100);border:1px solid var(--color-divider)}.ec-ball.ball-gray .di{background:var(--gray-600)}.ec-rpt{border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:14px;margin-bottom:12px;background:var(--color-surface)}.ec-rpt .rh{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.ec-rpt .rh .ec-avatar{width:32px;height:32px;font-size:12px}.ec-rpt .rh .who b{font-size:var(--text-sm)}.ec-rpt .rh .who span{font-size:var(--text-xs);font-weight:500;color:var(--text-muted)}.ec-rpt .rh .rmeta{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ec-rpt .rbody{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--text-md-lh)}.ec-rpt .rbody .rtext{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.ec-rpt .rfoot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--color-divider)}.ec-cmt{display:flex;gap:10px;margin-bottom:14px}.ec-cmt .ec-avatar{width:32px;height:32px;font-size:12px;flex:none}.ec-cmt .cbubble{background:var(--gray-100);border-radius:var(--radius-md);padding:8px 12px;flex:1;min-width:0}.ec-cmt .cbubble .ch{display:flex;align-items:center;gap:8px;margin-bottom:2px;flex-wrap:wrap}.ec-cmt .cbubble .ch b{font-size:var(--text-sm)}.ec-cmt .cbubble .ch>span:not([class]){font-size:var(--text-xs);font-weight:500;color:var(--text-muted)}.ec-cmt .cbubble .ctext{font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.ec-tl{position:relative;padding-left:28px}.ec-tl:before{content:"";position:absolute;left:9px;top:4px;bottom:4px;width:2px;background:var(--color-divider)}.ec-tl .ti{position:relative;padding-bottom:18px}.ec-tl .ti:before{content:"";position:absolute;left:-24px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--dot, var(--color-primary));border:2px solid var(--color-surface);box-shadow:0 0 0 2px var(--dot, var(--color-primary))}.ec-tl .ti .tt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--text-sm)}.ec-tl .ti .tmeta{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);margin-top:2px}.ec-tl .ti .tbody{font-size:var(--text-sm);margin-top:4px;color:var(--text-secondary);overflow-wrap:anywhere}.ec-attach{display:flex;align-items:center;gap:10px;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:8px 12px;font-size:var(--text-sm)}.ec-attach b{font-weight:var(--fw-medium);overflow-wrap:anywhere}.ec-attach small{color:var(--text-muted)}.ec-attach .grow{flex:1;min-width:0}.ec-attach-list{display:flex;flex-direction:column;gap:8px}.ec-act-bar{position:sticky;bottom:0;z-index:10;background:var(--color-surface);border-top:1px solid var(--color-divider);padding:14px 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;margin:20px -24px -20px;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-md)}.ant-btn.btn-primary,.ant-btn.btn-outline,.ant-btn.btn-secondary-outline,.ant-btn.btn-toolbar,.ant-btn[class*=ec-btn-]{height:40px;padding:0 16px;border-radius:var(--radius-md);font-weight:var(--fw-medium);font-size:var(--text-md);box-shadow:none}.ant-btn.ant-btn-sm.btn-primary,.ant-btn.ant-btn-sm.btn-outline,.ant-btn.ant-btn-sm.btn-secondary-outline,.ant-btn.ant-btn-sm.btn-toolbar,.ant-btn.ant-btn-sm[class*=ec-btn-]{height:32px;padding:0 12px;font-size:var(--text-sm)}.ec-act-bar .ant-btn{height:40px;padding:0 16px;border-radius:var(--radius-md);font-weight:var(--fw-medium);font-size:var(--text-sm);box-shadow:none}.ec-act-bar .ant-btn.ant-btn-sm{height:32px;padding:0 12px}.ec-act-bar .ant-btn .anticon,.ant-btn.btn-primary .anticon,.ant-btn.btn-outline .anticon,.ant-btn.btn-secondary-outline .anticon,.ant-btn.btn-toolbar .anticon,.ant-btn[class*=ec-btn-] .anticon{font-size:16px}.ant-btn.btn-secondary-outline,.ec-act-bar .ant-btn-default:not(.ant-btn-dangerous):not(.btn-excel):not([class*=ec-btn-]){background:var(--color-surface);color:var(--gray-800);border-color:var(--color-border)}.ant-btn.btn-secondary-outline:not(:disabled):hover,.ec-act-bar .ant-btn-default:not(.ant-btn-dangerous):not(.btn-excel):not([class*=ec-btn-]):not(:disabled):hover{background:var(--gray-100);color:var(--gray-900);border-color:var(--color-border)}.ant-btn.btn-secondary-outline:not(:disabled):active,.ec-act-bar .ant-btn-default:not(.ant-btn-dangerous):not(.btn-excel):not([class*=ec-btn-]):not(:disabled):active{background:var(--gray-200);color:var(--gray-900);border-color:var(--color-border)}.ant-btn.btn-outline,.ec-act-bar .ant-btn-primary.ant-btn-background-ghost:not(.ant-btn-dangerous):not([class*=ec-btn-]){background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.ant-btn.btn-outline:not(:disabled):hover,.ec-act-bar .ant-btn-primary.ant-btn-background-ghost:not(.ant-btn-dangerous):not([class*=ec-btn-]):not(:disabled):hover{background:var(--primary-000);color:var(--color-primary);border-color:var(--color-primary)}.ant-btn.btn-outline:not(:disabled):active,.ec-act-bar .ant-btn-primary.ant-btn-background-ghost:not(.ant-btn-dangerous):not([class*=ec-btn-]):not(:disabled):active{background:var(--primary-100);color:var(--color-primary-pressed);border-color:var(--color-primary-pressed)}.ant-btn.btn-primary,.ec-act-bar .ant-btn-primary:not(.ant-btn-background-ghost):not(.ant-btn-dangerous):not([class*=ec-btn-]){background:var(--color-primary);color:var(--color-text-on-primary);border-color:transparent}.ant-btn.btn-primary:not(:disabled):hover,.ec-act-bar .ant-btn-primary:not(.ant-btn-background-ghost):not(.ant-btn-dangerous):not([class*=ec-btn-]):not(:disabled):hover{background:var(--color-primary-hover);color:var(--color-text-on-primary);border-color:transparent}.ant-btn.btn-primary:not(:disabled):active,.ec-act-bar .ant-btn-primary:not(.ant-btn-background-ghost):not(.ant-btn-dangerous):not([class*=ec-btn-]):not(:disabled):active{background:var(--color-primary-pressed)}.ant-btn.btn-toolbar{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}.ant-btn.btn-toolbar:not(:disabled):hover{background:var(--primary-000);color:var(--color-primary);border-color:var(--color-primary)}.ec-act-bar .ant-btn-default.ant-btn-dangerous:not([class*=ec-btn-]){background:var(--color-surface);color:var(--error-600);border-color:var(--error-100)}.ec-act-bar .ant-btn-default.ant-btn-dangerous:not([class*=ec-btn-]):not(:disabled):hover{background:var(--error-000);color:var(--error-700);border-color:var(--error-300)}.ec-btn-blue{--bt-fg: var(--primary-600);--bt-bd: var(--primary-300);--bt-bg: var(--primary-000);--bt-solid: var(--color-primary);--bt-solid-h: var(--color-primary-hover)}.ec-btn-sky{--bt-fg: var(--primary-500);--bt-bd: var(--primary-300);--bt-bg: var(--primary-000);--bt-solid: var(--primary-500);--bt-solid-h: var(--primary-600)}.ec-btn-teal{--bt-fg: var(--teal-600);--bt-bd: var(--teal-300);--bt-bg: var(--teal-000);--bt-solid: var(--teal-600);--bt-solid-h: var(--teal-700)}.ec-btn-aqua{--bt-fg: var(--teal-600);--bt-bd: var(--teal-300);--bt-bg: var(--teal-000);--bt-solid: var(--teal-500);--bt-solid-h: var(--teal-600)}.ec-btn-gold{--bt-fg: var(--gold-700);--bt-bd: var(--warning-200);--bt-bg: var(--warning-050);--bt-solid: var(--gold-700);--bt-solid-h: var(--gold-800)}.ec-btn-green{--bt-fg: var(--army-500);--bt-bd: var(--army-300);--bt-bg: var(--army-000);--bt-solid: var(--army-500);--bt-solid-h: var(--army-600)}.ec-btn-red{--bt-fg: var(--error-600);--bt-bd: var(--error-200);--bt-bg: var(--error-000);--bt-solid: var(--error-600);--bt-solid-h: var(--error-800)}.ec-btn-orange{--bt-fg: var(--warning-950);--bt-bd: var(--warning-600);--bt-bg: var(--warning-050);--bt-solid: var(--orange-700);--bt-solid-h: var(--orange-800)}.ec-btn-gray{--bt-fg: var(--gray-800);--bt-bd: var(--gray-500);--bt-bg: var(--gray-100);--bt-solid: var(--gray-800);--bt-solid-h: var(--gray-900)}.ec-btn-yellow{--bt-fg: var(--gold-800);--bt-bd: var(--warning-300);--bt-bg: var(--warning-050);--bt-solid: var(--gold);--bt-solid-h: var(--warning-500);--bt-fg-solid: var(--gray-900)}.btn[class*=ec-btn-],.ant-btn[class*=ec-btn-]:not(:disabled){background:var(--bt-solid);color:var(--bt-fg-solid, var(--color-text-on-primary));border-color:transparent}.btn[class*=ec-btn-]:hover,.ant-btn[class*=ec-btn-][class*=ec-btn-]:not(:disabled):hover{background:var(--bt-solid-h);color:var(--bt-fg-solid, var(--color-text-on-primary));border-color:transparent}.btn[class*=ec-btn-]:active,.ant-btn[class*=ec-btn-][class*=ec-btn-]:not(:disabled):active{background:var(--bt-solid-h);color:var(--bt-fg-solid, var(--color-text-on-primary));border-color:transparent;box-shadow:inset 0 2px 5px #00000040}.btn[class*=ec-btn-].solid,.ant-btn[class*=ec-btn-].solid:not(:disabled){box-shadow:0 2px 8px #00000038}.btn[class*=ec-btn-].solid:active,.ant-btn[class*=ec-btn-][class*=ec-btn-].solid:not(:disabled):active{box-shadow:inset 0 2px 5px #00000040}.ant-btn.ant-btn-text[class*=ec-btn-]:not(:disabled),.ant-btn.ant-btn-link[class*=ec-btn-]:not(:disabled){background:none;color:var(--bt-fg);border-color:transparent}.ant-btn.ant-btn-text[class*=ec-btn-][class*=ec-btn-]:not(:disabled):hover,.ant-btn.ant-btn-link[class*=ec-btn-][class*=ec-btn-]:not(:disabled):hover{color:var(--bt-fg)}.ant-btn.ant-btn-text[class*=ec-btn-]:not(:disabled):hover,.ant-btn.ant-btn-link[class*=ec-btn-]:not(:disabled):hover{background:var(--bt-bg);border-color:transparent}.ec-stepper .ec-step .sub{display:block;font-size:12px;color:var(--text-muted);font-weight:var(--fw-regular);white-space:normal}.ec-stepper .ec-step.err .num{background:var(--error-600);color:var(--color-white)}.ec-stepper .ec-step.err .tx{color:var(--error-600)}.ec-stepper .ec-step .tx{text-align:left}.ec-stepper.wrap{justify-content:flex-start;margin:0;flex-wrap:nowrap;row-gap:0;overflow-x:auto;scrollbar-width:thin}.ec-stepper.wrap .ec-step{flex:0 1 auto;min-width:0}.ec-stepper.wrap .ec-step .tx{min-width:0}.ec-stepper.wrap .ln{flex:1 1 12px;min-width:12px}.ec-stepper.wrap .ec-step .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-tbl .ec-sub-row td:first-child{padding-left:28px}.ec-tname-cell{display:flex;align-items:flex-start;gap:8px;min-width:0}.ec-tname-cell>.ec-expand,.ec-tname-cell>.ec-expand-spacer{margin-top:1px}.ec-tname-note{margin-top:2px}.ec-tname-cell>.ec-tname{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-tname-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-star{border:0;background:none;padding:0;line-height:0;flex:none;margin-top:2px;cursor:pointer;color:var(--gray-500);transition:.15s}.ec-star:hover,.ec-star.on{color:var(--warning-500)}.ec-star.on svg{fill:var(--warning-500)}.ec-expand{position:relative;width:20px;height:20px;padding:0;flex:none;border:none;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:inline-flex;cursor:pointer;transition:background .15s,box-shadow .15s}.ec-expand:before,.ec-expand:after{content:"";position:absolute;top:50%;left:50%;background:currentColor;border-radius:1px;transform:translate(-50%,-50%)}.ec-expand:before{width:10px;height:2.5px}.ec-expand:after{width:2.5px;height:10px}.ec-expand.on:after{display:none}.ec-expand:hover{background:var(--color-primary-hover)}.ec-expand:focus-visible{outline:none;box-shadow:var(--ring)}.ec-expand.on{background:var(--error-500)}.ec-expand.on:hover{background:var(--error-600)}.ec-expand.on:focus-visible{box-shadow:0 0 0 3px var(--error-100)}.ec-expand-spacer{display:inline-block;width:20px;height:20px;flex:none}.ec-antd-tbl .ant-table-tbody>tr>td:first-child{white-space:nowrap}.ec-tname-sub{font-weight:var(--fw-regular)}.ec-antd-tbl .ant-table{background:transparent;font-size:var(--text-sm)}.ec-antd-tbl .ant-table-container,.ec-antd-tbl .ant-table-content{border:none!important}.ec-antd-tbl .ant-table-thead>tr>th{background:var(--color-surface)!important;padding:0!important;height:1px;border-bottom:1px solid var(--color-divider)!important;border-radius:0!important;vertical-align:top;position:relative}.ec-antd-tbl .ant-table-thead>tr>th:before{display:none!important}.ec-col-resizer{position:absolute;top:0;bottom:0;right:0;width:9px;z-index:2;cursor:col-resize;touch-action:none}.ec-tbl thead th{position:relative}.ec-antd-tbl .ec-col-resizer{bottom:50px}.ec-col-resizer:after{content:"";position:absolute;top:10px;bottom:10px;right:4px;width:1px;border-radius:1px;background:var(--gray-400);transition:background .15s,width .15s,right .15s,top .15s,bottom .15s}.ec-col-resizer:hover:after{top:4px;bottom:4px;right:3px;width:3px;background:var(--color-primary)}body.ec-col-resizing{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.ec-ellip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-th{display:flex;flex-direction:column;height:100%;min-height:44px}.ec-th .lbl{flex:1;display:flex;align-items:flex-end;background:var(--gray-200);color:var(--text-primary);font-weight:var(--fw-bold);font-size:var(--text-sm);padding:10px 12px;min-height:44px;white-space:normal;overflow-wrap:anywhere}.ec-th--c .lbl{justify-content:center;text-align:center}.ec-th .flt{padding:8px 12px;min-height:50px;font-weight:var(--fw-regular);background:var(--color-surface)}.ec-antd-tbl .ec-th .ant-input-affix-wrapper,.ec-antd-tbl .ec-th .ant-input,.ec-antd-tbl .ec-th .ant-select:not(.ant-select-customize-input){height:34px!important;min-height:34px;border-radius:var(--radius-md)!important;border-color:var(--color-border)!important;font-size:var(--text-sm);display:flex;align-items:center;padding-inline:10px}.ec-antd-tbl .ec-th input.ant-input{font-size:var(--text-sm);line-height:32px}.ec-antd-tbl .ec-th .ant-input-prefix{margin-inline-end:8px}.ec-antd-tbl .ec-th .ant-input-prefix svg{width:16px;height:16px;color:var(--text-muted)}.ec-antd-tbl .ant-table-tbody>tr>td{padding:11px 12px!important;border-bottom:1px solid var(--color-divider)!important;color:var(--text-primary);vertical-align:middle}.ec-antd-tbl .ant-table-tbody>tr.ant-table-measure-row>td{padding:0!important;border:0!important;height:0!important}.ec-antd-tbl .ant-table-tbody>tr.ant-table-row:hover>td,.ec-antd-tbl .ant-table-tbody>tr>td.ant-table-cell-row-hover{background:var(--gray-100)!important}.ec-antd-tbl .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--primary-000)!important}.ec-antd-tbl .ant-table-placeholder td{border-bottom:none!important}.ec-antd-tbl .ant-table-placeholder .ant-empty-description{color:var(--text-muted)}.ec-antd-tbl .ant-table-pagination.ant-pagination,.ec-pagination .ant-pagination{margin:0!important;padding:14px 20px;border-top:1px solid var(--color-divider);align-items:center;font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;row-gap:8px}.ec-antd-tbl .ant-pagination .ant-pagination-total-text,.ec-pagination .ant-pagination .ant-pagination-total-text{margin-inline-end:auto;color:var(--text-secondary)}.ec-antd-tbl .ant-pagination .ant-pagination-item,.ec-pagination .ant-pagination .ant-pagination-item{border:none;background:none;border-radius:var(--radius-md);min-width:32px;height:32px;line-height:32px}.ec-antd-tbl .ant-pagination .ant-pagination-item a,.ec-pagination .ant-pagination .ant-pagination-item a{color:var(--text-secondary)}.ec-antd-tbl .ant-pagination .ant-pagination-item:hover,.ec-pagination .ant-pagination .ant-pagination-item:hover{background:var(--gray-200)}.ec-antd-tbl .ant-pagination .ant-pagination-item-active,.ec-pagination .ant-pagination .ant-pagination-item-active{background:var(--color-primary)!important;border-color:transparent!important;border-radius:var(--radius-pill)}.ec-antd-tbl .ant-pagination .ant-pagination-item-active a,.ec-pagination .ant-pagination .ant-pagination-item-active a{color:var(--color-text-on-primary)!important;font-weight:var(--fw-semibold)}.ec-antd-tbl .ant-pagination .ant-pagination-item-active:hover,.ec-pagination .ant-pagination .ant-pagination-item-active:hover{background:var(--color-primary-hover)}.ec-antd-tbl .ant-pagination .ant-pagination-prev .ant-pagination-item-link,.ec-antd-tbl .ant-pagination .ant-pagination-next .ant-pagination-item-link,.ec-pagination .ant-pagination .ant-pagination-prev .ant-pagination-item-link,.ec-pagination .ant-pagination .ant-pagination-next .ant-pagination-item-link{border:none;background:none;color:var(--text-secondary);border-radius:var(--radius-md)}.ec-antd-tbl.flat .ant-table-thead>tr>th{background:var(--gray-200)!important}.ec-antd-tbl.flat{border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.ec-acc-list{display:flex;flex-direction:column;gap:10px}.ec-acc{overflow:hidden}.ec-acc-head{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit}.ec-acc-head:hover{background:var(--gray-100)}.ec-acc-head:focus-visible{outline:none;box-shadow:var(--ring)}.ec-acc-head .num{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--text-sm);font-weight:var(--fw-bold)}.ec-acc-head .tx{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--primary-600);text-transform:uppercase;letter-spacing:.3px}.ec-acc-head .sum{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--fw-medium)}.ec-acc-head .chev{margin-left:auto;flex:none;color:var(--text-muted);transition:transform .2s}.ec-acc.open .ec-acc-head .chev{transform:rotate(180deg)}.ec-acc-body{display:none;border-top:1px solid var(--color-divider)}.ec-acc.open>.ec-acc-body{display:block}.ec-acc-body-inner{padding:16px 20px}.ec-acc-body-inner>.card,.ec-acc-body-inner>div>.card{padding:0;border:none;box-shadow:none;background:transparent;margin-bottom:0!important}.ec-acc-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:14px 20px}.ec-mtbl-wrap{border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow-x:auto}table.ec-mtbl{width:100%;border-collapse:collapse;min-width:720px}.ec-mtbl thead th{background:var(--gray-200);text-align:left;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.02em;color:var(--text-secondary);text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--color-divider);white-space:nowrap}.ec-mtbl tbody td{padding:8px 12px;border-bottom:1px solid var(--color-divider);vertical-align:middle;font-size:var(--text-sm);overflow-wrap:anywhere}table.ec-mtbl.ec-mtbl-fixed{table-layout:fixed}table.ec-mtbl.ec-mtbl-agenda{min-width:940px}.ec-mtbl tbody tr:last-child td{border-bottom:none}.ec-mtbl tbody tr:hover{background:var(--gray-100)}.ec-mtbl .stt{width:40px;text-align:center;color:var(--text-muted)}.ec-mtbl .muted{color:var(--text-muted)}.ec-mtbl .cell-in{width:100%;min-width:0;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 8px;font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:transparent;outline:none}.ec-mtbl .cell-in:hover{background:var(--gray-200)}.ec-mtbl .cell-in:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--ring)}.ec-mtbl .cell-in.err{border-color:var(--error-500)}.ec-mtbl select.cell-in{cursor:pointer}.ec-mtbl .time-range{display:flex;align-items:center;gap:4px;white-space:nowrap}.ec-mtbl .time-range .sep{color:var(--text-muted)}.ec-mtbl .time-range .cell-in{width:84px}.ec-mtbl .row-warn{display:block;margin-top:3px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--warning-700)}.ec-mtbl .who{display:flex;align-items:center;gap:8px;min-width:0}.ec-mtbl .who .nm{font-weight:var(--fw-semibold)}.ec-mtbl .who .em{font-size:var(--text-xs);font-weight:500;color:var(--text-muted)}.ec-mtbl .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ec-mtbl tr.empty td{text-align:center;color:var(--text-muted);padding:24px 12px}.ec-mtbl tr.adding td{background:var(--primary-000)}.ec-mtbl tr.day-h td{background:var(--primary-000);padding:6px 12px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.02em;text-transform:uppercase;color:var(--color-primary);border-bottom:1px solid var(--color-divider)}.ec-mtbl tr.day-h:hover td{background:var(--primary-000)}.ec-mtbl tr.day-h svg{vertical-align:-2px;margin-right:6px}.ec-mtbl .ec-actions{justify-content:flex-end}.ec-mtbl .time-range .cell-time{width:88px;padding:4px 6px;border-radius:var(--radius-sm)}.ec-mtbl .time-range .cell-time:hover{background:var(--gray-200)}.ec-mtbl .time-range .cell-time input{font-size:var(--text-sm);text-align:center}.ec-mtbl .time-range .cell-time.ant-picker-focused{background:var(--color-surface);box-shadow:var(--ring)}.ec-mtbl .cell-date{width:100%;padding:4px 6px;border-radius:var(--radius-sm)}.ec-mtbl .cell-date:hover{background:var(--gray-200)}.ec-mtbl .cell-date input{font-size:var(--text-sm)}.ec-mtbl .cell-date.ant-picker-focused{background:var(--color-surface);box-shadow:var(--ring)}.ec-doc-layout{display:grid;grid-template-columns:230px 1fr;gap:20px;min-height:320px}.ec-doc-side{border-right:1px solid var(--color-divider);padding-right:4px}.ec-doc-side-head{display:flex;align-items:center;justify-content:space-between;padding:2px 10px 12px;border-bottom:1px solid var(--color-divider)}.ec-doc-side-head .ttl{font-size:var(--text-sm);font-weight:var(--fw-bold)}.ec-doc-plus{width:26px;height:26px;border:none;background:none;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-muted);cursor:pointer}.ec-doc-plus:hover{background:var(--gray-200);color:var(--color-primary)}.ec-doc-folders{padding:10px 0}.ec-doc-folder{display:flex;align-items:center;gap:8px;margin:2px 0;padding:9px 12px;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.ec-doc-folder:hover{background:var(--gray-100)}.ec-doc-folder.active{background:var(--primary-000);color:var(--color-primary);font-weight:var(--fw-semibold)}.ec-doc-folder .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-doc-folder .cnt{font-size:var(--text-xs);font-weight:500;color:var(--text-muted)}.ec-doc-folder.active .cnt{color:var(--color-primary)}.ec-doc-folder .acts{display:none;gap:2px}.ec-doc-folder:hover .acts{display:inline-flex}.ec-doc-main{min-width:0}.ec-doc-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--color-divider)}.ec-doc-main-head h4{font-size:var(--text-sm);font-weight:var(--fw-bold);padding-top:6px}.ec-doc-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ec-doc-actions .btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ec-doc-note{max-width:560px;font-size:var(--text-xs);font-weight:500;line-height:1.45;color:var(--text-muted);text-align:left}.ec-doc-files{display:flex;flex-direction:column;gap:10px}.ec-doc-empty{padding:40px 12px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.ec-doc-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface)}.ec-doc-card:hover{box-shadow:var(--shadow-sm)}.ec-doc-card .lft{display:flex;align-items:center;gap:14px;min-width:0}.ec-doc-card .meta{min-width:0}.ec-doc-card .nm{font-weight:var(--fw-medium);word-break:break-word}.ec-doc-card .lnk{margin-top:3px;font-size:var(--text-xs);font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ec-doc-card .lnk a{color:var(--color-primary);font-weight:var(--fw-semibold);cursor:pointer}.ec-doc-card .lnk .sep{color:var(--gray-400)}.ec-doc-card .lnk .proc{display:inline-flex;align-items:center;gap:4px;font-style:italic;color:var(--warning-700)}.ec-doc-ia{width:30px;height:30px;flex:none;border:none;background:none;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer}.ec-doc-ia:hover{background:var(--gray-200);color:var(--color-primary)}.ec-doc-ia.danger{color:var(--error-600)}.ec-doc-ia.danger:hover{background:var(--error-000);color:var(--error-700)}@media(max-width:900px){.ec-doc-layout{grid-template-columns:1fr}.ec-doc-side{border-right:none;padding-right:0;border-bottom:1px solid var(--color-divider);padding-bottom:12px}.ec-doc-actions{align-items:flex-start}}.ec-clamp-box{min-width:0}.ec-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--ec-clamp-lines, 3);line-clamp:var(--ec-clamp-lines, 3);overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}.ec-clamp.is-open{display:block;overflow:visible}.ec-clamp-more{margin-top:2px;padding:0;border:none;background:none;font-size:12px;font-weight:500;color:var(--color-primary);cursor:pointer;text-decoration:underline}.ec-clamp-more:hover{color:var(--primary-700)}textarea.ec-clamp-ta{display:block;width:100%;min-width:0;resize:none;overflow:hidden;line-height:20px}.ec-main:has(.ec-page-fill){height:100vh;display:flex;flex-direction:column}.ec-main:has(.ec-page-fill)>.page-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ec-page-fill,.ec-card-fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ec-card-fill>.ec-toolbar:first-child{padding-top:12px;padding-bottom:12px}.ec-card-fill>.ec-tbl-wrap{flex:1 1 auto;min-height:0;overflow:auto}.ec-card-fill>.ec-tbl-wrap thead th{position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px 0 var(--color-divider)}.ec-card-fill>.ec-pagination{margin-top:auto;position:sticky;bottom:0;z-index:2;background:var(--color-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.ec-card-fill>.ec-pagination .ant-pagination{margin:0!important}.ec-card>.filter-panel{padding:12px 20px 16px;background:var(--color-surface);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.filter-panel .fp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}@media(max-width:1200px){.filter-panel .fp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.filter-panel .fp-grid{grid-template-columns:1fr}}.filter-panel .fp-field>label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.filter-panel .fp-field .ant-input-affix-wrapper,.filter-panel .fp-field .ant-select,.filter-panel .fp-field .ant-picker{width:100%}.filter-panel .fp-actions{display:flex;gap:8px;margin-top:12px}@keyframes att-spin{to{transform:rotate(360deg)}}@keyframes att-pulse{0%,to{box-shadow:0 0 #0d47a166}50%{box-shadow:0 0 0 6px #0d47a100}}.att-page{font-family:var(--font-family-base);display:flex;flex-direction:column}.att-user-info{text-align:right}.att-user-name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.att-user-role{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary)}.att-grid{display:grid;grid-template-columns:3fr 6fr 3fr;gap:12px;flex:1;overflow:hidden;min-height:0}@media(max-width:1100px){.att-grid{grid-template-columns:1fr;overflow-y:auto}}.att-col{display:flex;flex-direction:column;gap:12px;overflow:hidden;min-height:0}.att-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.att-card-header{padding:10px 14px;border-bottom:1px solid var(--color-divider);background:var(--gray-100);display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0}.att-card-title{font-weight:var(--fw-bold);color:var(--text-primary);font-size:var(--text-sm);display:flex;align-items:center;gap:6px}.att-card-body{padding:12px;flex:1;overflow-y:auto}.att-card-body::-webkit-scrollbar{width:4px}.att-card-body::-webkit-scrollbar-track{background:transparent}.att-card-body::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-sm)}.att-card-body::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.att-timeline{position:relative;border-left:2px solid var(--color-divider);margin-left:12px;padding-left:16px}.att-timeline-item{position:relative;margin-bottom:20px}.att-timeline-dot{position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;border:3px solid var(--color-surface)}.att-timeline-dot.done{background:var(--gray-400)}.att-timeline-dot.active{background:var(--primary-500);animation:att-pulse 2s infinite}.att-timeline-dot.pending{background:var(--color-divider)}.att-timeline-time{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);font-family:monospace;margin-bottom:2px}.att-timeline-title{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.att-timeline-title.active{color:var(--color-primary);font-weight:var(--fw-semibold)}.att-vote-bar{height:6px;background:var(--color-divider);border-radius:var(--radius-sm);overflow:hidden}.att-vote-bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .5s}.att-doc-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border-light, var(--color-divider));background:var(--color-surface);cursor:pointer;transition:border-color .15s,background .15s;text-decoration:none}.att-doc-card:hover{border-color:var(--primary-150);background:var(--primary-000)}.att-doc-info{flex:1;min-width:0}.att-doc-name{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-doc-meta{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary)}.att-speech-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-light, var(--color-divider))}.att-spinner{width:36px;height:36px;border:3px solid var(--color-divider);border-top-color:var(--color-primary);border-radius:50%;animation:att-spin .8s linear infinite}.att-card-title svg{color:var(--color-primary)}.att-meta-line svg{color:var(--primary-500);flex:none}.att-group-label svg{color:var(--color-primary)}.att-doc-meta svg{color:var(--primary-500)}.att-timeline-title svg{color:var(--primary-500)}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;min-width:0}.form-grid-3>.form-group{min-width:0}@media(max-width:1100px){.form-grid-3{grid-template-columns:1fr 1fr}}@media(max-width:760px){.form-grid-3{grid-template-columns:1fr}}.mv-head{background:var(--color-surface);border:1px solid var(--color-divider);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sm);padding:13px 18px;margin-bottom:0}.mv-head-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px}.mv-title{display:flex;align-items:center;gap:9px;min-width:0;font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary)}.mv-title .ic{width:27px;height:27px;flex:none;border-radius:var(--radius-sm);background:var(--primary-600);color:var(--color-white);display:grid;place-items:center}.mv-title h1{font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0;color:var(--text-primary);min-width:0}.mv-back{width:32px;height:32px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer}.mv-back:hover{background:var(--gray-200);color:var(--color-primary)}.mv-head-time{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.mv-head-time svg{color:var(--primary-500);flex:none}.mv-head-r1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}.mv-spacer{flex:1}.mv-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:var(--fw-bold);font-size:var(--text-xs);white-space:nowrap}.mv-badge.live{background:var(--error-000);color:var(--error-600)}.mv-badge.live .dot{width:7px;height:7px;border-radius:50%;background:var(--error-500);animation:mv-pulse 1.4s infinite}@keyframes mv-pulse{0%{box-shadow:0 0 #ed1b2f80}70%{box-shadow:0 0 0 7px #ed1b2f00}to{box-shadow:0 0 #ed1b2f00}}.mv-checkin{display:flex;align-items:center;gap:9px;margin-left:auto}.mv-checkin .who{text-align:right;line-height:1.2}.mv-checkin .who b{font-size:var(--text-sm);color:var(--text-primary)}.mv-checkin .who small{display:block;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium)}.mv-tag-ok{display:inline-flex;align-items:center;gap:6px;background:var(--success-050);color:var(--success-800);font-weight:var(--fw-bold);font-size:var(--text-xs);padding:4px 10px;border-radius:999px}.mv-tag-wait{background:var(--gray-200);color:var(--text-secondary)}.mv-prog{margin-top:10px}.mv-prog .lbl{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px}.mv-prog .lbl b{color:var(--text-primary)}.mv-prog .bar{height:5px;border-radius:999px;background:var(--gray-300);overflow:hidden}.mv-prog .bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary-600),var(--primary-400))}.mv-tabcard{background:var(--color-surface);border:1px solid var(--color-divider);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:14px}.mv-tabs{display:flex;gap:3px;padding:8px 9px;border-top:2px solid var(--primary-600);border-bottom:1px solid var(--color-divider);overflow-x:auto;flex-wrap:nowrap}.mv-tab{padding:10px 13px;border-radius:var(--radius-sm);border:none;background:transparent;font-weight:var(--fw-semibold);font-size:14px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;flex:none;cursor:pointer}.mv-tab svg{color:var(--primary-500);flex:none}.mv-tab:hover{background:var(--gray-200);color:var(--text-primary)}.mv-tab.on{background:var(--primary-600);color:var(--color-white)}.mv-tab.on svg{color:var(--color-white)}.mv-tab .cn{background:var(--gray-300);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:0 8px;border-radius:999px}.mv-tab.on .cn{background:#ffffff3d;color:var(--color-white)}.mv-tab .live-dot{width:7px;height:7px;border-radius:50%;background:var(--error-500);display:inline-block;animation:mv-pulse 1.4s infinite}.mv-panel{padding:16px 18px 18px}.mv-panel>.card,.mv-panel>.ec-card,.mv-panel>div>.card{border:none;box-shadow:none;border-radius:0;background:transparent;padding:0;margin:0;overflow:visible}.mv-panel>.card+.card,.mv-panel>div>.card+.card{border-top:1px solid var(--color-divider);margin-top:18px;padding-top:18px}.mv-acc-wrap{border:1px solid var(--color-divider);border-top:2px solid var(--primary-600);border-radius:var(--radius-md);overflow:hidden}.mv-acc{border-bottom:1px solid var(--color-divider)}.mv-acc:last-child{border-bottom:none}.mv-acc-head{display:flex;align-items:center;gap:13px;width:100%;padding:13px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:var(--color-surface);border:none}.mv-acc-head:hover{background:var(--gray-100)}.mv-acc.open>.mv-acc-head{background:var(--primary-000)}.mv-acc-head:focus-visible{outline:none;box-shadow:var(--ring)}.mv-acc-n{width:24px;height:24px;flex:none;border-radius:50%;background:var(--primary-600);color:var(--color-white);display:grid;place-items:center;font-size:var(--text-xs);font-weight:var(--fw-bold)}.mv-acc-title{font-size:14px;font-weight:var(--fw-bold);letter-spacing:.3px;color:var(--primary-600);text-transform:uppercase}.mv-acc-sub{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--fw-medium)}.mv-acc-spacer{flex:1 1 auto}.mv-acc-chev{color:var(--text-muted);flex:none;transition:transform .2s}.mv-acc.open .mv-acc-chev{transform:rotate(180deg)}.mv-acc-body{padding:16px 18px 18px;border-top:1px solid var(--gray-300)}.mv-acc:not(.open) .mv-acc-body{display:none}.mv-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 26px}@media(max-width:900px){.mv-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.mv-info-grid{grid-template-columns:1fr}}.mv-info-cell .k{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium);margin-bottom:3px}.mv-info-cell .v{font-size:14px;font-weight:var(--fw-semibold);color:var(--text-primary);word-break:break-word}.mv-info-cell .v .sub{display:block;color:var(--text-muted);font-weight:var(--fw-medium);font-size:var(--text-xs);margin-top:1px}.mv-info-cell.wide{grid-column:1 / -1}.mv-tbl-wrap{overflow-x:auto;border:1px solid var(--gray-300);border-radius:var(--radius-md)}table.mv-tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}table.mv-tbl thead th{text-align:left;font-size:var(--text-xs);letter-spacing:.3px;color:var(--text-primary);text-transform:uppercase;font-weight:var(--fw-bold);padding:10px 13px;background:var(--gray-200);border-bottom:1px solid var(--color-divider);white-space:nowrap}table.mv-tbl tbody td{padding:12px 13px;border-bottom:1px solid var(--gray-300);vertical-align:middle;overflow-wrap:anywhere}table.mv-tbl.mv-tbl-fixed{table-layout:fixed}table.mv-tbl.mv-tbl-fixed{min-width:680px}table.mv-tbl.mv-tbl-att{min-width:740px}table.mv-tbl.mv-tbl-att th:first-child,table.mv-tbl.mv-tbl-att td:first-child{min-width:200px}table.mv-tbl.mv-tbl-att td:first-child{overflow-wrap:break-word}table.mv-tbl tbody tr:last-child td{border-bottom:none}table.mv-tbl tbody tr:hover{background:var(--gray-100)}table.mv-tbl .stt{color:var(--text-muted);width:44px;font-weight:var(--fw-semibold)}table.mv-tbl .nm{font-weight:var(--fw-semibold);color:var(--text-primary)}table.mv-tbl .muted{color:var(--text-muted)}table.mv-tbl .time-cell{display:table-cell;white-space:nowrap;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}table.mv-tbl .time-cell .sep{color:var(--text-subtle);margin:0 6px}table.mv-tbl .date-cell{white-space:nowrap;font-variant-numeric:tabular-nums}table.mv-tbl tr.empty td{text-align:center;color:var(--text-muted);padding:26px 13px}.mv-now-mini{display:inline-flex;align-items:center;gap:5px;margin-left:9px;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--error-600);background:var(--error-000);padding:1px 8px;border-radius:999px;vertical-align:middle}.mv-you{font-size:var(--text-xs);font-weight:var(--fw-bold);background:var(--primary-000);color:var(--primary-600);padding:1px 7px;border-radius:999px}.mv-role{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px 10px;border-radius:999px;white-space:nowrap}.mv-role.ct,.mv-role.dct{background:var(--purple-050);color:var(--purple-700)}.mv-role.tk{background:var(--primary-000);color:var(--primary-700)}.mv-role.dh{background:var(--success-050);color:var(--success-800)}.mv-role.km{background:var(--warning-050);color:var(--warning-950)}.mv-role.db{background:var(--gray-200);color:var(--text-secondary)}.mv-ld-yes{color:var(--success-800);font-weight:var(--fw-bold)}.mv-ld-no{color:var(--text-subtle)}.mv-subhead{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14px;font-weight:var(--fw-bold);color:var(--text-secondary);margin:4px 2px 10px}.mv-subhead svg{color:var(--primary-500)}.mv-subhead .pill-n{background:var(--primary-000);color:var(--primary-700);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:1px 9px;border-radius:999px}.mv-subhead .act{margin-left:auto;display:flex;align-items:center;gap:8px}.mv-subhead.sub2{margin-top:20px}.mv-empty{padding:16px;text-align:center;color:var(--text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.mv-upload-note{font-size:12px;font-weight:var(--fw-medium);line-height:1.5;color:var(--text-subtle);margin-bottom:14px}.mv-dd{display:grid;grid-template-columns:1fr 300px;gap:0;align-items:start}.mv-dd>.mv-dd-main{padding-right:24px;border-right:1px solid var(--color-divider);min-width:0}.mv-dd>.mv-dd-side{padding-left:24px;display:flex;flex-direction:column;gap:18px;min-width:0}.mv-dd>.mv-dd-side>*+*{border-top:1px solid var(--color-divider);padding-top:18px}@media(max-width:1000px){.mv-dd{grid-template-columns:1fr}.mv-dd>.mv-dd-main{padding-right:0;border-right:none;border-bottom:1px solid var(--color-divider);padding-bottom:18px;margin-bottom:18px}.mv-dd>.mv-dd-side{padding-left:0}}.mv-att-layout>.mv-seatzone{margin-top:20px;padding-top:18px;border-top:1px solid var(--color-divider)}.mv-seat-full{height:440px}@media(max-width:1000px){.mv-seat-full{height:320px}}.mv-att-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.mv-att-search{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 11px;flex:1;min-width:170px;color:var(--text-muted);background:var(--color-surface)}.mv-att-search input{border:none;outline:none;font-family:inherit;font-size:14px;width:100%;color:var(--text-primary);background:none}.mv-att-hint{display:flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--primary-700);background:var(--primary-000);border-radius:var(--radius-sm);padding:8px 12px;margin:12px 0}.mv-att-cell{display:flex;align-items:center;gap:11px;min-width:0}.mv-av{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:var(--fw-bold);color:var(--color-white);font-size:14px}.mv-av.sm{width:22px;height:22px;font-size:var(--text-xs)}.mv-att-cell b{font-size:14px;font-weight:var(--fw-semibold);display:flex;align-items:center;gap:6px}.mv-att-cell .sub{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.mv-cf{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:3px 11px;border-radius:999px;white-space:nowrap}.mv-cf.ok{background:var(--success-050);color:var(--success-800)}.mv-cf.reject{background:var(--error-000);color:var(--error-600)}.mv-cf.wait{background:var(--gray-200);color:var(--text-secondary)}.mv-cf.deleg{background:var(--primary-000);color:var(--primary-700)}.mv-cf-sub{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted);margin-top:4px;line-height:1.35}.mv-deleg-offer{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:0 0 16px;padding:14px 18px;border-radius:var(--radius-md, 8px);background:var(--primary-000);border:1px solid var(--primary-200);border-left:4px solid var(--primary-600);color:var(--text-primary);font-size:var(--text-sm)}.mv-deleg-offer-note{margin-top:6px;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;max-width:70ch}.mv-deleg-offer-act{display:flex;gap:8px;flex-wrap:wrap}.mv-st{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:3px 11px;border-radius:999px;white-space:nowrap}.mv-st.present{background:var(--success-050);color:var(--success-800)}.mv-st.pending{background:var(--gray-200);color:var(--text-muted)}.mv-st-tm{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted);margin-top:3px}table.mv-tbl tbody tr.mv-present td:first-child{box-shadow:inset 3px 0 0 var(--success-700)}.mv-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.mv-stat-box{border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:10px 12px;background:var(--gray-100)}.mv-stat-box .lbl{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.mv-stat-box .val{font-size:22px;font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.2}.mv-stat-box.present .val{color:var(--success-800)}.mv-stat-box.absent .val{color:var(--error-600)}.mv-stat-box.rate .val{color:var(--primary-600)}.mv-stepper{display:flex;align-items:center;margin-bottom:14px;flex-wrap:wrap;row-gap:8px}.mv-step{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.mv-step .sn{width:26px;height:26px;border-radius:50%;background:var(--gray-300);color:var(--text-muted);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:var(--text-xs)}.mv-step.done .sn{background:var(--success-700);color:var(--color-white)}.mv-step.active .sn{background:var(--primary-600);color:var(--color-white)}.mv-step.done,.mv-step.active{color:var(--text-primary)}.mv-step-line{flex:1;height:2px;background:var(--color-divider);margin:0 10px;min-width:16px}.mv-notif-type{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:3px 9px;border-radius:999px;white-space:nowrap}.mv-notif-type.manual{background:var(--gray-200);color:var(--text-secondary)}.mv-notif-type.remind{background:var(--primary-000);color:var(--primary-700)}.mv-notif-type.change{background:var(--warning-050);color:var(--warning-950)}.mv-notif-type.result{background:var(--success-050);color:var(--success-800)}.mv-notif-status{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:3px 9px;border-radius:999px;white-space:nowrap}.mv-notif-status.read{background:var(--gray-200);color:var(--text-secondary)}.mv-notif-status.unread{background:var(--warning-050);color:var(--warning-950)}.mv-notif-status.partial{background:var(--primary-000);color:var(--primary-700)}.mv-recv{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.mv-recv-mini{font-size:var(--text-xs);background:var(--gray-200);color:var(--text-secondary);padding:1px 7px;border-radius:999px;font-weight:var(--fw-semibold);white-space:nowrap}.mv-recv-mini .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:middle}.mv-recv-mini.read{background:var(--success-050);color:var(--success-800)}.mv-recv-mini.unread{background:var(--warning-050);color:var(--warning-950)}.mv-recv-mini.more{border:1px dashed var(--gray-400);background:transparent;cursor:pointer;font-family:inherit;line-height:inherit}.mv-recv-mini.more:hover{background:var(--gray-200)}.mv-notif-status.toggle{display:inline-flex;align-items:center;gap:3px;border:0;cursor:pointer;font-family:inherit;line-height:inherit}.mv-notif-status.toggle:disabled{cursor:default}.mv-read-row>td{background:var(--gray-100);padding:10px 12px}.mv-read-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 14px}.mv-read-item{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--text-sm);color:var(--text-primary);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:5px 9px}.mv-read-item .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-read-item .st{font-size:var(--text-xs);font-weight:var(--fw-bold);white-space:nowrap;padding:2px 8px;border-radius:999px}.mv-read-item.read .st{background:var(--success-050);color:var(--success-800)}.mv-read-item.unread .st{background:var(--warning-050);color:var(--warning-950)}.mv-sender-cell{display:flex;align-items:center;gap:7px;white-space:nowrap}table.mv-tbl.mv-tbl-notif{table-layout:fixed;min-width:1100px}table.mv-tbl.mv-tbl-notif .c-stt{width:48px;text-align:center}table.mv-tbl.mv-tbl-notif .c-type{width:132px}table.mv-tbl.mv-tbl-notif .c-recv{width:176px}table.mv-tbl.mv-tbl-notif .c-sender{width:152px}table.mv-tbl.mv-tbl-notif .c-sent{width:116px}table.mv-tbl.mv-tbl-notif .c-status{width:132px}table.mv-tbl.mv-tbl-notif .c-act{width:84px;text-align:center}table.mv-tbl.mv-tbl-notif .stt{text-align:center}table.mv-tbl.mv-tbl-notif .mv-notif-type,table.mv-tbl.mv-tbl-notif .mv-notif-status{white-space:normal;border-radius:var(--radius-md);line-height:1.4}table.mv-tbl.mv-tbl-notif .mv-sender-cell{min-width:0}table.mv-tbl.mv-tbl-notif .mv-sender-cell .mv-av{flex:0 0 auto}table.mv-tbl.mv-tbl-notif .mv-sender-cell .t,table.mv-tbl.mv-tbl-notif .mv-recv-mini{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.mv-tbl.mv-tbl-notif .mv-recv-mini{max-width:100%}.mv-notif-wrap{container-type:inline-size}@container (max-width: 1099px){table.mv-tbl.mv-tbl-notif{min-width:0}table.mv-tbl.mv-tbl-notif thead th{white-space:normal;padding-left:8px;padding-right:8px}table.mv-tbl.mv-tbl-notif tbody td{padding-left:8px;padding-right:8px}table.mv-tbl.mv-tbl-notif .c-stt{width:36px}table.mv-tbl.mv-tbl-notif .c-type{width:104px}table.mv-tbl.mv-tbl-notif .c-recv{width:124px}table.mv-tbl.mv-tbl-notif .c-sender{width:116px}table.mv-tbl.mv-tbl-notif .c-sent{width:88px}table.mv-tbl.mv-tbl-notif .c-status{width:104px}table.mv-tbl.mv-tbl-notif .c-act{width:48px}}.mv-dock{position:fixed;left:calc(var(--sidebar-w) + 24px);right:0;bottom:0;z-index:45;background:var(--color-surface);border-top:1px solid var(--color-divider);box-shadow:0 -6px 24px #111a3014;display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 22px;transition:left .18s ease}.ec-app.ec-collapsed .mv-dock{left:calc(var(--sidebar-w-collapsed) + 24px)}@media(max-width:900px){.mv-dock,.ec-app.ec-collapsed .mv-dock{left:0;overflow-x:auto}}.mv-has-dock{padding-bottom:76px}.mv-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.mv-card>.hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 15px;border-bottom:1px solid var(--gray-300)}.mv-card>.hd>.ic{width:26px;height:26px;flex:none;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--primary-000);color:var(--primary-600)}.mv-card>.hd h3{margin:0;font-size:14px;font-weight:var(--fw-bold);color:var(--text-primary);flex:1}.mv-card>.hd .n{background:var(--gray-300);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:1px 9px;border-radius:999px}.mv-card>.hd .act{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mv-card>.bd{padding:14px 15px}.mv-panel .mv-card{border:none;box-shadow:none;border-radius:0;background:transparent;overflow:visible}.mv-panel .mv-card>.hd{padding:0 0 12px;border-bottom:none}.mv-panel .mv-card>.bd{padding:14px 0 0}.mv-panel .mv-stack>*+*{border-top:1px solid var(--color-divider);margin-top:18px;padding-top:18px}.mv-itabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:9px;margin-bottom:16px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-lg)}.mv-itab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--radius-sm);border:none;background:transparent;font-weight:var(--fw-semibold);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;cursor:pointer}.mv-itab svg{color:var(--primary-500);flex:none}.mv-itab:hover{background:var(--color-surface);color:var(--text-primary)}.mv-itab.on{background:var(--color-surface);color:var(--primary-700);box-shadow:var(--shadow-sm)}.mv-itab.on svg{color:var(--primary-600)}.mv-itab .cn{background:var(--gray-300);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:0 7px;border-radius:999px}.mv-itab.on .cn{background:var(--primary-000);color:var(--primary-700)}.mv-itabs .sep{width:1px;height:22px;background:var(--color-border);margin:0 4px;flex:none}.mv-itabs .act{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.mv-subtabs{display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--gray-300);margin-bottom:14px}.mv-subtab{padding:2px 0 10px;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.mv-subtab:hover{color:var(--text-primary)}.mv-subtab.on{color:var(--primary-700);border-bottom-color:var(--primary-600)}.mv-subtabs .mv-subtab-action{margin-left:auto;align-self:flex-start}.mv-session-locked{display:flex;align-items:center;gap:8px;padding:9px 13px;margin-bottom:12px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.mv-session-locked svg{color:var(--text-muted);flex:none}.mv-emptybox{text-align:center;padding:26px 12px;color:var(--text-muted)}.mv-emptybox .ei{width:44px;height:44px;border-radius:50%;margin:0 auto 10px;background:var(--gray-200);color:var(--text-muted);display:grid;place-items:center}.mv-emptybox b{display:block;color:var(--text-secondary);font-weight:var(--fw-semibold);font-size:var(--text-sm)}.mv-emptybox small{font-size:var(--text-xs);font-weight:var(--fw-medium)}.mv-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--gray-300)}.mv-actions.top{margin-top:0;padding-top:0;border-top:none;justify-content:flex-end;margin-bottom:12px}.mv-qr{text-align:center;padding:6px 0}.mv-qr .box{display:inline-grid;place-items:center;margin:0 auto 12px;border-radius:var(--radius-lg);background:var(--gray-100);border:1px solid var(--gray-300);padding:10px}.mv-qr .box.ph{width:120px;height:120px;color:var(--text-subtle)}.mv-qr .txt{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--fw-medium);margin-bottom:12px}.mv-qr .exp{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium);margin-bottom:12px}.mv-qr .acts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mv-qr-lifetime{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;font-size:var(--text-sm);color:var(--text-muted)}.mv-qr-lifetime select{padding:4px 8px;border-radius:var(--radius-md);border:1px solid var(--gray-300);background:var(--color-surface);color:var(--text-default);font-size:var(--text-sm)}.mv-qr .box{position:relative}.mv-qr.locked .box{border-color:var(--warning-300);background:var(--gray-200)}.mv-qr.locked .box canvas{opacity:.28;filter:grayscale(1)}.mv-qr.locked .box .lock-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;white-space:nowrap;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);color:var(--error-600);font-size:var(--text-xs);font-weight:var(--fw-bold)}.mv-qr.locked .txt{color:var(--error-600);font-weight:var(--fw-semibold)}.mv-btn-block{width:100%;justify-content:center}.mv-seat-note{display:flex;align-items:center;gap:7px;background:var(--warning-050);border:1px solid var(--warning-100);border-radius:var(--radius-sm);padding:7px 10px;margin-bottom:10px;color:var(--warning-950);font-size:var(--text-xs);font-weight:var(--fw-medium);line-height:1.4}.mv-seat-note svg{flex:none}.mv-seatprev-toolbar{display:flex;gap:6px;margin-bottom:8px}.mv-spt{width:28px;height:28px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer}.mv-spt:hover{background:var(--gray-200);border-color:var(--color-border-strong)}.mv-spt.on{background:var(--primary-600);border-color:var(--primary-600);color:var(--color-white)}.mv-stage-mini{background:var(--primary-600);color:var(--color-white);text-align:center;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.5px;padding:5px;border-radius:var(--radius-sm);margin-bottom:8px}.mv-seatprev-viewport{position:relative;overflow:auto;max-height:240px;border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:8px;background:var(--gray-100)}.mv-seatprev-assigned{display:flex;flex-direction:column;gap:5px;margin-top:10px}.mv-spa{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--gray-100);font-size:var(--text-xs);font-weight:var(--fw-medium);min-width:0}.mv-spa .gh{flex:none;background:var(--primary-600);color:var(--color-white);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:1px 6px;border-radius:var(--radius-sm)}.mv-spa .nm{font-weight:var(--fw-semibold);color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-seatprev-legend{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.mv-seatprev-legend span{display:inline-flex;align-items:center;gap:5px}.mv-seatprev-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.mv-bb-recbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:13px 16px;margin-bottom:14px;background:var(--color-surface)}.mv-bb-recbar .t{display:flex;align-items:center;gap:9px;font-weight:var(--fw-bold);font-size:14px;color:var(--text-primary)}.mv-bb-recbar .t svg{color:var(--primary-600);flex:none}.mv-bb-work{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}@media(max-width:900px){.mv-bb-work{grid-template-columns:1fr}}.mv-bb-sessions{border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:12px;min-width:0}.mv-bb-sess-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.mv-bb-sess-head>span{display:flex;align-items:center;gap:8px;font-weight:var(--fw-bold);font-size:var(--text-sm);color:var(--text-primary)}.mv-bb-search{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 11px;margin-bottom:11px;color:var(--text-muted);background:var(--color-surface)}.mv-bb-search input{border:none;outline:none;font:inherit;font-size:var(--text-sm);width:100%;background:none;color:var(--text-primary)}.mv-bb-sess-item{position:relative;cursor:pointer;background:var(--color-surface);border:1.5px solid var(--gray-300);border-radius:var(--radius-md);padding:11px 12px;margin-bottom:8px}.mv-bb-sess-item:last-child{margin-bottom:0}.mv-bb-sess-item:hover{border-color:var(--primary-150)}.mv-bb-sess-item.active{border-color:var(--primary-600);background:var(--primary-000)}.mv-bb-sess-item .r1{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold)}.mv-bb-sess-item .ttl{font-weight:var(--fw-bold);font-size:var(--text-sm);margin:3px 0 7px;padding-right:22px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-bb-sess-item .file{display:flex;align-items:center;gap:6px;margin-bottom:9px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-bb-sess-item .meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.mv-bb-sess-item .del{position:absolute;top:30px;right:10px;border:none;background:none;color:var(--text-subtle);cursor:pointer;padding:2px}.mv-bb-sess-item .del:hover{color:var(--error-600)}.mv-chip-ok{display:inline-flex;align-items:center;gap:5px;background:var(--success-050);color:var(--success-800);font-weight:var(--fw-bold);font-size:var(--text-xs);padding:2px 9px;border-radius:999px}.mv-chip-wait{background:var(--warning-050);color:var(--warning-950)}.mv-chip-err{background:var(--error-000);color:var(--error-600)}.mv-bb-editor{border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:16px;min-width:0}.mv-bb-ed-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:15px}.mv-bb-ed-head .ttl{font-weight:var(--fw-bold);font-size:14px;color:var(--text-primary)}.mv-bb-ed-head .sub{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium);margin-top:3px}.mv-bb-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:15px;border-bottom:1px solid var(--gray-300);margin-bottom:15px}.mv-bb-toolbar .sp{flex:1}.mv-bb-changed{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--fw-medium)}.mv-bb-changed.dirty{color:var(--warning-950);font-weight:var(--fw-semibold)}.mv-bb-transcript{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:15px}.mv-reczone{margin-top:18px;padding-top:18px;border-top:1px solid var(--color-divider)}.mv-rec-item{border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:13px 15px;margin-bottom:12px;background:var(--color-surface)}.mv-rec-item:last-child{margin-bottom:0}.mv-rec-top{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.mv-rec-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-weight:var(--fw-bold);font-size:var(--text-sm);color:var(--primary-700);word-break:break-all}.mv-rec-name svg{color:var(--primary-600);flex:none}.mv-rec-meta{display:flex;gap:16px;flex-wrap:wrap;margin:7px 0 12px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium)}.mv-att-sel{padding:8px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);background:var(--color-surface);max-width:190px;cursor:pointer}.mv-att-sel:focus-visible{outline:none;box-shadow:var(--ring)}.mv-field{margin-bottom:12px}.mv-field>label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.mv-field textarea,.mv-field input{width:100%;font:inherit;font-size:var(--text-sm);color:var(--text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px 11px;background:var(--color-surface);resize:vertical}.mv-field textarea:focus,.mv-field input:focus{outline:none;box-shadow:var(--ring);border-color:var(--primary-500)}.mv-errhint{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--error-600)}.mv-errhint svg{flex:none}.mv-softhint{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--warning-700)}.mv-softhint svg{flex:none}.mv-mn-work{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,34%,460px);gap:14px;align-items:start}.mv-mn-main{min-width:0}.mv-mn-side{border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);display:flex;flex-direction:column;position:sticky;top:8px;max-height:calc(100vh - 150px);min-width:0}.mv-mn-side-tabs{display:flex;border-bottom:1px solid var(--color-divider);flex:none}.mv-mn-tab{flex:1 1 0;padding:13px 10px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.mv-mn-tab svg{color:currentColor;flex:none}.mv-mn-tab:hover{color:var(--text-primary);background:var(--gray-100)}.mv-mn-tab.on{color:var(--primary-600);border-bottom-color:var(--primary-600);background:none}.mv-mn-side-body{padding:12px;overflow-y:auto;flex:1 1 auto;min-height:0}.mv-mn-side-foot{padding:12px;border-top:1px solid var(--color-divider);flex:none;display:flex;flex-direction:column;align-items:stretch;gap:8px;border-radius:0 0 var(--radius-md) var(--radius-md)}.mv-mn-side-send{display:flex;align-items:center;justify-content:space-between;gap:10px}.mv-cmt-pick{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px dashed var(--color-divider);border-radius:var(--radius-sm);background:var(--gray-100)}.mv-cmt-pick .nm{flex:1 1 auto;min-width:0;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-cmt-pick button{flex:none;background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);color:var(--error-600);display:inline-flex}.mv-cmt-pick button:hover{background:var(--gray-200)}.mv-cmt-file{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--primary-600);max-width:100%}.mv-cmt-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-cmt-file:hover{text-decoration:underline}.mv-cmt{border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:10px;background:var(--color-surface)}.mv-cmt:hover{border-color:var(--primary-150)}.mv-cmt-head{display:flex;align-items:flex-start;gap:10px}.mv-cmt-av{width:34px;height:34px;border-radius:50%;flex:none;background:var(--primary-600);color:var(--color-white);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:14px}.mv-cmt-who{min-width:0;flex:1 1 auto}.mv-cmt-name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv-cmt-time{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-muted);margin-top:2px}.mv-cmt-acts{display:flex;gap:2px;flex:none}.mv-cmt-acts button{background:none;border:none;cursor:pointer;padding:5px;border-radius:var(--radius-sm);color:var(--text-muted);display:inline-flex}.mv-cmt-acts button:hover{background:var(--gray-200);color:var(--text-primary)}.mv-cmt-acts button.dg{color:var(--error-600)}.mv-cmt-acts button.dg:hover{background:var(--error-000, var(--gray-200));color:var(--error-600)}.mv-cmt-body{margin-top:8px;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--gray-900);white-space:pre-wrap;word-break:break-word}@media(max-width:1000px){.mv-mn-work{grid-template-columns:1fr}.mv-mn-side{position:static;max-height:none}.mv-mn-side-body{max-height:420px}}
