:root{--color-gray-50: #f5f5f7;--color-gray-100: #e8e8ed;--color-gray-200: #d2d2d7;--color-gray-300: #b0b0b8;--color-gray-400: #86868b;--color-gray-500: #6e6e73;--color-gray-600: #48484a;--color-gray-700: #1d1d1f;--color-accent: #007AFF;--color-accent-light: #e5f1ff;--color-accent-ring: var(--color-accent-ring);--color-accent-hover: #0063d1;--color-success: #34C759;--color-warning: #FF9500;--color-danger: #FF3B30;--color-info: #5AC8FA;--color-success-bg: #e8f8ed;--color-success-border: #b8e6c8;--color-success-text: #1a7a34;--color-warning-bg: #fff4e5;--color-warning-border: #ffd699;--color-warning-text: #995a00;--color-danger-bg: #fef0ef;--color-danger-border: #fecac7;--color-danger-text: #c9302c;--color-info-bg: #e5f4fd;--color-info-border: #b3dff7;--color-info-text: #1a6da0;--attention-high: #FF3B30;--attention-medium: #FF9500;--attention-low: #5AC8FA;--bg-app: #f5f5f7;--bg-surface: #ffffff;--bg-sidebar: #f5f5f7;--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(0, 0, 0, .06);--bg-selected: var(--color-accent-light);--bg-stripe: rgba(0, 0, 0, .02);--bg-sidebar-hover: rgba(0, 0, 0, .04);--bg-sidebar-active: var(--color-accent);--color-sidebar-text: var(--color-gray-700);--color-sidebar-text-muted: var(--color-gray-400);--color-white: #ffffff;--overlay-bg: rgba(0, 0, 0, .4);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-xxl: 28px;--line-height: 1.47;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--border-color: rgba(0, 0, 0, .08);--border-color-light: rgba(0, 0, 0, .04);--color-overlay-backdrop: rgba(0, 0, 0, .4);--color-baseline: var(--color-gray-300);--color-baseline-slipped: var(--color-warning);--sidebar-width: 200px;--header-height: 48px;--tap-target-min: 44px}[data-theme=dark]{--color-gray-50: #1d1d1f;--color-gray-100: #2c2c2e;--color-gray-200: #3a3a3c;--color-gray-300: #48484a;--color-gray-400: #8e8e93;--color-gray-500: #aeaeb2;--color-gray-600: #d1d1d6;--color-gray-700: #f5f5f7;--color-accent: #0a84ff;--color-accent-light: rgba(10, 132, 255, .15);--color-accent-hover: #409cff;--color-success: #30d158;--color-warning: #ff9f0a;--color-danger: #ff453a;--color-info: #64d2ff;--color-success-bg: rgba(48, 209, 88, .15);--color-success-border: rgba(48, 209, 88, .3);--color-success-text: #30d158;--color-warning-bg: rgba(255, 159, 10, .15);--color-warning-border: rgba(255, 159, 10, .3);--color-warning-text: #ff9f0a;--color-danger-bg: rgba(255, 69, 58, .15);--color-danger-border: rgba(255, 69, 58, .3);--color-danger-text: #ff453a;--color-info-bg: rgba(100, 210, 255, .15);--color-info-border: rgba(100, 210, 255, .3);--color-info-text: #64d2ff;--attention-high: #ff453a;--attention-medium: #ff9f0a;--attention-low: #64d2ff;--bg-app: #000000;--bg-surface: #1c1c1e;--bg-sidebar: #1c1c1e;--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(255, 255, 255, .08);--bg-selected: var(--color-accent-light);--bg-stripe: rgba(255, 255, 255, .03);--bg-sidebar-hover: rgba(255, 255, 255, .06);--bg-sidebar-active: var(--color-accent);--color-sidebar-text: var(--color-gray-700);--color-sidebar-text-muted: var(--color-gray-400);--color-white: #ffffff;--overlay-bg: rgba(0, 0, 0, .6);--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .2), 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .4);--border-color: rgba(255, 255, 255, .12);--border-color-light: rgba(255, 255, 255, .06);--color-overlay-backdrop: rgba(0, 0, 0, .6);--color-baseline: var(--color-gray-400);--color-baseline-slipped: var(--color-warning)}[data-theme=high-contrast]{--color-gray-50: #ffffff;--color-gray-100: #f0f0f0;--color-gray-200: #cccccc;--color-gray-300: #999999;--color-gray-400: #666666;--color-gray-500: #444444;--color-gray-600: #222222;--color-gray-700: #000000;--color-accent: #0055cc;--color-accent-light: #e0f0ff;--color-accent-hover: #003d99;--color-success: #007a1a;--color-warning: #cc6600;--color-danger: #cc0000;--color-info: #0066aa;--color-success-bg: #d4f5dd;--color-success-border: #007a1a;--color-success-text: #005c14;--color-warning-bg: #fff0cc;--color-warning-border: #cc6600;--color-warning-text: #995200;--color-danger-bg: #ffd9d9;--color-danger-border: #cc0000;--color-danger-text: #990000;--color-info-bg: #d9eeff;--color-info-border: #0066aa;--color-info-text: #004d80;--attention-high: #cc0000;--attention-medium: #cc6600;--attention-low: #0066aa;--bg-app: #ffffff;--bg-surface: #ffffff;--bg-sidebar: #f5f5f5;--bg-hover: rgba(0, 0, 0, .08);--bg-active: rgba(0, 0, 0, .12);--bg-selected: var(--color-accent-light);--bg-stripe: rgba(0, 0, 0, .04);--bg-sidebar-hover: rgba(0, 0, 0, .08);--bg-sidebar-active: var(--color-accent);--color-sidebar-text: var(--color-gray-700);--color-sidebar-text-muted: var(--color-gray-500);--color-white: #ffffff;--overlay-bg: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 2px 6px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .25);--border-color: rgba(0, 0, 0, .2);--border-color-light: rgba(0, 0, 0, .1);--color-overlay-backdrop: rgba(0, 0, 0, .5);--color-baseline: var(--color-gray-400);--color-baseline-slipped: var(--color-warning)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);line-height:var(--line-height)}body{font-family:var(--font-family);color:var(--color-gray-700);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{width:100%}a{color:var(--color-accent);text-decoration:none}ul,ol{list-style:none}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:767px){.table-responsive table{min-width:600px}}@media(max-width:767px){button,a,[role=button],.sidebar-link{min-height:var(--tap-target-min)}}@media(hover:none){a,button,[role=button],.sidebar-link,.clickable{touch-action:manipulation}}*{-webkit-tap-highlight-color:transparent}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1}.flex-2{flex:2}.min-w-0{min-width:0}.w-full{width:100%}.hidden{display:none}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.m-0{margin:0}.mt-3{margin-top:var(--space-3)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.ml-2{margin-left:var(--space-2)}.mr-1{margin-right:var(--space-1)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.pt-1{padding-top:var(--space-1)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-nowrap{white-space:nowrap}.text-pre-wrap{white-space:pre-wrap}.text-center{text-align:center}.text-capitalize{text-transform:capitalize}.no-underline{text-decoration:none}.text-muted{color:var(--color-gray-400)}.text-secondary{color:var(--color-gray-500)}.text-body{color:var(--color-gray-600)}.text-primary{color:var(--color-gray-700)}.text-accent{color:var(--color-accent)}.bg-surface{background-color:var(--bg-surface)}.bg-muted{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cursor-pointer{cursor:pointer}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.pointer-events-none{pointer-events:none}.resize-y{resize:vertical}.max-w-half{max-width:50%}.widget-card{background:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border-color)}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.widget-title{margin:0;font-size:var(--font-size-md);color:var(--color-gray-700)}.widget-badge{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:99px}.widget-list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-color-light)}.widget-list-item:last-child{border-bottom:none}.compose-panel,.form-panel{background:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border-color);margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--font-size-sm);margin-bottom:var(--space-1);color:var(--color-gray-600)}.input-sm{padding:6px 10px;font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.btn-primary{background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--font-size-sm)}.pagination-bar{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm)}.error-text{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.card-item{background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--space-3);border:1px solid var(--border-color)}.compose-btn-group{display:flex;gap:var(--space-2)}.toast-container{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);max-width:380px}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid;box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);animation:toast-slide-in .25s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.toast-error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.toast-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.toast-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.toast-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:var(--font-size-xs);font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:var(--color-success);color:var(--color-white)}.toast-error .toast-icon{background:var(--color-danger);color:var(--color-white)}.toast-warning .toast-icon{background:var(--color-warning);color:var(--color-white)}.toast-info .toast-icon{background:var(--color-info);color:var(--color-white)}.toast-message{flex:1;line-height:var(--line-height)}.toast-close{background:none;border:none;font-size:var(--font-size-md);cursor:pointer;opacity:.6;padding:0;line-height:1;color:inherit;flex-shrink:0}@media(hover:none){.toast-close{min-width:44px;min-height:44px}}@media(max-width:640px){.toast-container{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);max-width:none}}.setup-progress-modal{position:fixed;bottom:0;left:var(--sidebar-width, 200px);right:0;z-index:1000;background:var(--bg-surface);border-top:1px solid var(--color-gray-200);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.setup-progress-modal-row{display:flex;align-items:center;gap:var(--space-3)}.setup-progress-modal-bar{flex:1;height:6px;background:var(--color-gray-100);border-radius:3px;overflow:hidden}.setup-progress-modal-fill{height:100%;border-radius:3px;transition:width .3s ease}.setup-progress-modal-fill--active{background:var(--color-accent)}.setup-progress-modal-fill--complete{background:var(--color-success-text, #1a7431)}.setup-progress-modal-text{font-size:var(--font-size-sm);color:var(--color-gray-500);white-space:nowrap}.setup-progress-modal-actions{display:flex;align-items:center;justify-content:space-between}.setup-progress-modal-step{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.setup-progress-modal-step--complete{color:var(--color-success-text, #1a7431)}.setup-progress-modal-buttons{display:flex;align-items:center;gap:var(--space-2)}.setup-progress-modal-btn{padding:4px 12px;border-radius:4px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:1px solid var(--color-gray-200);background:var(--bg-surface);color:var(--color-text)}@media(hover:hover){.setup-progress-modal-btn:hover{background:var(--color-gray-50)}}.setup-progress-modal-btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(hover:hover){.setup-progress-modal-btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}}.setup-progress-modal-btn--dismiss{background:none;border:none;color:var(--color-gray-500);padding:4px 8px}@media(hover:hover){.setup-progress-modal-btn--dismiss:hover{color:var(--color-text)}}@media(max-width:768px){.setup-progress-modal{left:0}}@media(max-width:480px){.setup-progress-modal-actions{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.setup-progress-modal-buttons{width:100%;justify-content:flex-end}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;min-height:300px}.error-boundary-icon{font-size:48px;margin-bottom:var(--space-4)}.error-boundary-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-2)}.error-boundary-message{font-size:var(--font-size-base);color:var(--color-gray-500);margin:0 0 var(--space-4);max-width:400px}.error-boundary-detail{font-size:var(--font-size-xs);color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-4);max-width:500px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-boundary-retry{padding:var(--space-2) var(--space-5);font-size:var(--font-size-base);font-weight:500;color:var(--color-white);background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}@media(hover:hover){.error-boundary-retry:hover{background:var(--color-accent-hover)}}@media(max-width:640px){.error-boundary{padding:var(--space-6);min-height:200px}.error-boundary-detail{max-width:100%}}.sidebar{width:var(--sidebar-width);min-height:100vh;background-color:var(--bg-sidebar);display:flex;flex-direction:column;position:sticky;top:0;flex-shrink:0}.sidebar-logo{padding:var(--space-4);color:var(--color-sidebar-text);font-size:var(--font-size-md);font-weight:700;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:center}.sidebar-logo-img{height:40px;width:auto;object-fit:contain}.sidebar-logo-dark,[data-theme=dark] .sidebar-logo-light{display:none}[data-theme=dark] .sidebar-logo-dark{display:block}.sidebar-nav{padding:var(--space-2) 0;flex:1}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-sidebar-text);font-size:var(--font-size-base);transition:color .15s,background-color .15s;border-radius:6px;margin:0 var(--space-2)}@media(hover:hover){.sidebar-link:hover{color:var(--color-sidebar-text);background-color:var(--bg-sidebar-hover)}}.sidebar-link.active{color:var(--color-white);background-color:var(--bg-sidebar-active);border-radius:6px}.sidebar-section-header{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-sidebar-text-muted);padding:var(--space-3) var(--space-4);margin:0 var(--space-2)}.sidebar-icon{font-size:var(--font-size-md);width:20px;text-align:center}.sidebar-backdrop{position:fixed;inset:0;background:var(--color-overlay-backdrop);z-index:999;opacity:0;transition:opacity .3s ease;pointer-events:none}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}@media(max-width:767px){.sidebar{position:fixed;left:0;top:0;z-index:1000;transform:translate(-100%);transition:transform .3s ease;height:100vh;height:100dvh;border-right:1px solid var(--border-color)}.sidebar.open{transform:translate(0)}}.project-switcher{position:relative;display:inline-block}.switcher-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface, var(--color-white));border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-gray-700);transition:all .2s}@media(hover:hover){.switcher-toggle:hover{background:var(--color-gray-50);border-color:var(--color-gray-200)}}.switcher-icon{font-size:16px}.switcher-text{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-arrow{color:var(--color-gray-500);font-size:10px;margin-left:4px}.switcher-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:280px;max-width:400px;background:var(--bg-surface, var(--color-white));border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.switcher-search{padding:12px;border-bottom:1px solid var(--border-color-light)}.switcher-search input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;outline:none}.switcher-search input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.switcher-loading{padding:20px;text-align:center;color:var(--color-gray-500);font-size:14px}.dropdown-section{padding:8px 0}.dropdown-label{padding:8px 16px;font-size:12px;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px}.dropdown-item{width:100%;display:flex;align-items:center;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--color-gray-700);text-align:left;transition:background .15s}@media(hover:hover){.dropdown-item:hover{background:var(--color-gray-50)}}.dropdown-item.active{background:var(--color-success-bg);font-weight:500}.check-icon{color:var(--color-success);font-weight:700;margin-right:4px}.project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider{height:1px;background:var(--border-color-light);margin:4px 0}.dropdown-actions{padding:8px 0}.dropdown-action{width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--color-gray-700);text-align:left;transition:background .15s}@media(hover:hover){.dropdown-action:hover{background:var(--color-gray-50)}}.dropdown-action.primary{color:var(--color-success);font-weight:500}@media(hover:hover){.dropdown-action.primary:hover{background:var(--color-success-bg)}}.dropdown-empty{padding:20px 16px;text-align:center;color:var(--color-gray-400);font-size:14px}.action-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-4);background-color:var(--bg-surface);transition:border-color .15s}.action-card--selected{border-color:var(--color-accent)}.action-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.action-card-checkbox{flex-shrink:0}.action-card-path{font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary)}.action-card-confidence{margin-left:auto;font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.action-card-confidence--high{color:var(--color-success);border-color:var(--color-success)}.action-card-confidence--medium{color:var(--color-warning);border-color:var(--color-warning)}.action-card-confidence--low{color:var(--color-danger);border-color:var(--color-danger)}.action-card-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.action-card-type{font-family:var(--font-mono, monospace);font-size:var(--font-size-xs);padding:1px var(--space-1);background-color:var(--bg-hover);border-radius:var(--radius-sm)}.action-card-separator{color:var(--color-gray-400)}.action-card-target{font-weight:500}.action-card-reasoning{margin-bottom:var(--space-3);padding:var(--space-3);background-color:var(--bg-page);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.action-card-reasoning-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.action-card-reasoning-text{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5}.action-card-details{margin-bottom:var(--space-3)}.action-card-details-summary{font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;font-weight:500}.action-card-details-content{margin-top:var(--space-2);font-size:var(--font-size-xs);background-color:var(--bg-page);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-2);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.action-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.action-card-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.action-card-actions{display:flex;align-items:center;gap:var(--space-2)}.action-card-reject-input{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);width:160px}.action-card-reject-input:focus{outline:none;border-color:var(--color-accent)}.action-card-btn{font-size:var(--font-size-sm);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;background:none;transition:background-color .15s,color .15s}.action-card-btn:disabled{opacity:.5;cursor:not-allowed}.action-card-btn--approve{color:var(--color-success);border-color:var(--color-success)}@media(hover:hover){.action-card-btn--approve:hover:not(:disabled){background-color:var(--color-success);color:var(--color-white)}}.action-card-btn--reject{color:var(--color-danger);border-color:var(--color-danger)}@media(hover:hover){.action-card-btn--reject:hover:not(:disabled){background-color:var(--color-danger);color:var(--color-white)}}.action-card-btn--cancel{color:var(--text-secondary)}.action-panel-overlay{position:fixed;inset:0;background-color:#0000004d;z-index:1000;display:flex;justify-content:flex-end}.action-panel{width:480px;max-width:100vw;height:100%;background-color:var(--bg-surface);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.action-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);flex-shrink:0}.action-panel-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.action-panel-close{background:none;border:1px solid var(--border-color);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500;transition:background-color .15s}@media(hover:hover){.action-panel-close:hover{background-color:var(--bg-hover)}}.action-panel-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-color);flex-shrink:0}.action-panel-select-all{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.action-panel-bulk{display:flex;align-items:center;gap:var(--space-2)}.action-panel-bulk-count{font-size:var(--font-size-xs);color:var(--text-secondary)}.action-panel-bulk-btn{font-size:var(--font-size-xs);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;background:none;transition:background-color .15s,color .15s}.action-panel-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.action-panel-bulk-btn--approve{color:var(--color-success);border-color:var(--color-success)}@media(hover:hover){.action-panel-bulk-btn--approve:hover:not(:disabled){background-color:var(--color-success);color:var(--color-white)}}.action-panel-bulk-btn--reject{color:var(--color-danger);border-color:var(--color-danger)}@media(hover:hover){.action-panel-bulk-btn--reject:hover:not(:disabled){background-color:var(--color-danger);color:var(--color-white)}}.action-panel-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.action-panel-empty{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--space-8) 0}.action-panel-error{text-align:center;color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--space-4) 0}@media(max-width:767px){.action-panel{width:100vw}}.notification-bell-btn{display:flex;align-items:center;gap:var(--space-1);background:none;border:1px solid var(--border-color);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:color .15s,background-color .15s;position:relative}@media(hover:hover){.notification-bell-btn:hover{color:var(--color-gray-700);background-color:var(--bg-hover)}}.notification-bell-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-1);border-radius:9px;background-color:var(--color-danger);color:var(--color-white);font-size:11px;font-weight:600;line-height:1}.header{height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);flex-shrink:0}.header-left{display:flex;align-items:center;gap:var(--space-3)}.header-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.header-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-gray-600);transition:color .15s,background-color .15s;min-width:40px;min-height:40px}.header-menu-btn:active{background-color:var(--bg-hover)}@media(hover:hover){.header-menu-btn:hover{color:var(--color-gray-700);background-color:var(--bg-hover)}}.header-right{display:flex;align-items:center;gap:var(--space-4)}.header-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500)}.header-status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-gray-400)}.header-status-dot.connected{background-color:var(--color-success)}.header-status-dot.disconnected{background-color:var(--color-danger)}.header-settings-btn{background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);color:var(--color-gray-500);display:flex;align-items:center;transition:color .15s,background-color .15s}@media(hover:hover){.header-settings-btn:hover{color:var(--color-gray-700);background-color:var(--bg-hover)}}@media(hover:none){.header-settings-btn{min-width:44px;min-height:44px}}.header-settings-btn.active{color:var(--color-accent)}.header-avatar{width:28px;height:28px;border-radius:50%;background-color:var(--color-accent);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600}.header-install-btn{display:flex;align-items:center;gap:var(--space-1);background:none;border:1px solid var(--border-color);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:500;transition:background-color .15s}@media(hover:hover){.header-install-btn:hover{background-color:var(--color-accent-light)}}.header-install-label{display:none}@media(min-width:768px){.header-install-label{display:inline}}.header-logout-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);color:var(--text-secondary);transition:color .15s}.header-logout-btn:hover{color:#c62828}@media(max-width:767px){.header{padding:var(--space-2) var(--space-3)}.header-title{font-size:var(--font-size-base)}.header .header-menu-btn{display:flex}.header-status{display:none}.header-right{gap:var(--space-2)}}.sw-update-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background-color:var(--color-accent);color:var(--color-white);font-size:var(--font-size-sm);font-weight:500}.sw-update-banner button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--color-white);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:500}.sw-update-banner .sw-update-dismiss{background:none;border:none;padding:var(--space-1);margin-left:auto;font-size:var(--font-size-md);line-height:1}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f8f9fa;padding:1rem}.auth-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:2.5rem 2rem;width:100%;max-width:400px}.auth-title{font-size:1.5rem;font-weight:600;margin:0 0 .25rem;text-align:center}.auth-subtitle{color:#666;font-size:.9rem;margin:0 0 1.5rem;text-align:center}.auth-error{background:#fff0f0;border:1px solid #ffcdd2;color:#c62828;padding:.6rem .8rem;border-radius:4px;font-size:.85rem;margin-bottom:1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.3rem}.auth-field label{font-size:.85rem;font-weight:500;color:#333}.auth-field input{padding:.6rem .75rem;border:1px solid #d0d0d0;border-radius:4px;font-size:.9rem;outline:none;transition:border-color .15s}.auth-field input:focus{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81a}.auth-field input.auth-readonly,.auth-field input[readonly]{background:#f5f5f5;color:#666;cursor:not-allowed}.auth-submit{padding:.65rem;background:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background .15s}.auth-submit:hover:not(:disabled){background:#1557b0}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin:1.5rem 0 0;font-size:.85rem;color:#666}.auth-footer a{color:#1a73e8;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.context-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:6px;margin-bottom:20px;font-size:14px}.context-banner-content{display:flex;align-items:center;gap:8px}.context-icon{font-size:16px}.context-text{color:var(--color-success-text)}.context-text strong{font-weight:600;color:var(--color-success-text)}.context-clear-btn{padding:6px 12px;background:var(--color-white);border:1px solid var(--color-success-border);border-radius:4px;cursor:pointer;font-size:13px;color:var(--color-success-text);font-weight:500;transition:all .2s}@media(hover:hover){.context-clear-btn:hover{background:var(--color-success-bg);border-color:var(--color-success-border)}}.setup-banner{padding:var(--space-4) var(--space-5);background:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:8px;margin-bottom:var(--space-5)}.setup-banner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.setup-banner-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.setup-banner-dismiss{background:none;border:none;color:var(--color-gray-500);cursor:pointer;font-size:var(--font-size-sm);padding:2px 8px;border-radius:4px}@media(hover:hover){.setup-banner-dismiss:hover{background:var(--color-gray-100);color:var(--color-gray-700)}}.setup-banner-progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.setup-banner-bar{flex:1;height:6px;background:var(--color-gray-100);border-radius:3px;overflow:hidden}.setup-banner-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s ease}.setup-banner-pct{font-size:var(--font-size-sm);color:var(--color-gray-500);min-width:32px;text-align:right}.setup-banner-next{display:flex;align-items:center;justify-content:space-between}.setup-banner-next-label{font-size:var(--font-size-sm);color:var(--color-gray-600)}.setup-banner-go{padding:4px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}@media(hover:hover){.setup-banner-go:hover{background:var(--color-accent-hover)}}.status-card{background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100)}.status-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.status-card-icon{font-size:var(--font-size-lg)}.status-card-label{font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500}.status-card-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-700);margin-bottom:var(--space-1)}.status-card-subtext{font-size:var(--font-size-xs);color:var(--color-gray-400)}.todo-list{background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100)}.todo-list-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-4)}.todo-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-gray-100)}.todo-item:last-child{border-bottom:none}.todo-checkbox{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.todo-text{flex:1;font-size:var(--font-size-base);color:var(--color-gray-700)}.todo-text.completed{text-decoration:line-through;color:var(--color-gray-400)}.todo-due{font-size:var(--font-size-xs);color:var(--color-gray-400);flex-shrink:0;white-space:nowrap}.todo-priority{font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0}.todo-priority.high{background-color:var(--color-danger-bg);color:var(--color-danger)}.todo-priority.medium{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.todo-priority.low{background-color:var(--color-accent-light);color:var(--color-accent)}.todo-empty{padding:var(--space-4);color:var(--color-gray-400);font-size:var(--font-size-sm)}.agent-cards{background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100)}.agent-cards-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-4)}.agent-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-100)}.agent-card:last-child{border-bottom:none}.agent-card-icon{font-size:var(--font-size-lg);flex-shrink:0}.agent-card-info{flex:1;min-width:0}.agent-card-name{font-size:var(--font-size-base);font-weight:500;color:var(--color-gray-700)}.agent-card-desc{font-size:var(--font-size-sm);color:var(--color-gray-400)}.agent-card-status{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.agent-card-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-success)}.agent-card-lastrun{font-size:var(--font-size-xs);color:var(--color-gray-400)}.dw-card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.widget-badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.widget-badge--danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.widget-badge--neutral{background:var(--color-gray-100);color:var(--color-gray-600)}.dw-title{margin:0 0 var(--space-3) 0;font-size:var(--font-size-md);color:var(--color-gray-700)}.dw-empty{color:var(--color-gray-400);font-size:var(--font-size-sm)}.dw-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-bottom:1px solid var(--color-gray-100)}.dw-row-link{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-radius:var(--radius-sm);text-decoration:none;color:inherit;border-bottom:1px solid var(--color-gray-100)}.dw-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.dw-item-link{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);text-decoration:none}.dw-detail{font-size:var(--font-size-xs);color:var(--color-gray-400)}.dw-view-link{margin-left:var(--space-2);color:var(--color-accent);text-decoration:none}.dw-action-btn{font-size:var(--font-size-xs);padding:2px 8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;color:var(--color-gray-600)}.dw-action-link{font-size:var(--font-size-xs);padding:2px 8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-accent);text-decoration:none}.dw-tag{font-size:var(--font-size-xs);padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-gray-100);color:var(--color-gray-600)}.dashboard{max-width:1200px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}@media(max-width:900px){.dashboard-stats,.dashboard-grid{grid-template-columns:1fr}}.project-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5);cursor:pointer;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:var(--space-3)}@media(hover:hover){.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gray-300)}}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.project-card-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);line-height:1.3}.project-card-address{font-size:var(--font-size-sm);color:var(--color-gray-500)}.project-card-progress{display:flex;align-items:center;gap:var(--space-2)}.progress-bar{flex:1;height:6px;background:var(--color-gray-100);border-radius:3px;overflow:hidden}.progress-bar-sm{width:80px}.progress-bar-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s}.progress-label{font-size:var(--font-size-xs);color:var(--color-gray-500);min-width:32px;text-align:right}.project-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.project-card-stat{display:flex;flex-direction:column}.stat-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.project-card-milestone{font-size:var(--font-size-sm);color:var(--color-gray-600);display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.milestone-label{color:var(--color-gray-400)}.milestone-date{color:var(--color-gray-400);font-size:var(--font-size-xs)}.project-card-agent{font-size:var(--font-size-xs);color:var(--color-gray-400)}.project-card-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--color-gray-100)}.project-card-badges{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.example-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-accent)}.status-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.status-planning{background:var(--color-accent-light);color:var(--color-info-text)}.status-on-hold{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-complete{background:var(--color-gray-100);color:var(--color-gray-600)}.status-cancelled{background:var(--color-danger-bg);color:var(--color-danger-text)}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .15s,color .15s;padding:var(--space-2) var(--space-4)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-primary{background:var(--color-accent);color:var(--color-white)}@media(hover:hover){.btn-primary:hover{background:var(--color-accent-hover)}}.btn-ghost{background:transparent;color:var(--color-gray-500)}@media(hover:hover){.btn-ghost:hover{background:var(--color-gray-100);color:var(--color-gray-700)}}.btn-danger{background:transparent;color:var(--color-danger)}.project-card-flags{display:flex;gap:var(--space-2);flex-wrap:wrap}.project-flag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.project-flag-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.project-flag-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.project-card-archived,.project-list-row-archived{opacity:.7;background:var(--color-gray-50)}.project-filters{width:220px;flex-shrink:0;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4);align-self:flex-start}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.filters-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.filters-clear{background:none;border:none;font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-accent);cursor:pointer;padding:0}@media(hover:hover){.filters-clear:hover{text-decoration:underline}}.filter-section{border-top:1px solid var(--color-gray-100);padding-top:var(--space-3);margin-top:var(--space-3)}.filter-section:first-of-type{border-top:none;padding-top:0;margin-top:0}.filter-section-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);cursor:pointer;margin-bottom:var(--space-2)}.filter-chevron{font-size:var(--font-size-md);line-height:1;color:var(--color-gray-400)}.filter-section-body{display:flex;flex-direction:column;gap:var(--space-2)}.filter-checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}.filter-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent)}.filter-date-label{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs);color:var(--color-gray-500)}.filter-date-input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-gray-700)}@media(max-width:768px){.project-filters{width:100%}}.projects-page{max-width:1400px}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.projects-header-left{display:flex;align-items:baseline;gap:var(--space-3)}.projects-title{font-size:var(--font-size-xxl);font-weight:700;color:var(--color-gray-700);letter-spacing:-.5px}.projects-count{font-size:var(--font-size-sm);color:var(--color-gray-400)}.projects-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.projects-search-wrap{flex:1;min-width:200px;max-width:400px}.projects-search{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-gray-700);background:var(--bg-surface);outline:none;transition:border-color .15s}.projects-search:focus{border-color:var(--color-accent)}.projects-search::placeholder{color:var(--color-gray-400)}.projects-toolbar-right{display:flex;align-items:center;gap:var(--space-3)}.archive-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer;-webkit-user-select:none;user-select:none}.archive-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.projects-sort-select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-gray-600);background:var(--bg-surface);cursor:pointer}.view-toggle{display:flex;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden}.view-toggle-btn{padding:var(--space-1) var(--space-2);border:none;background:var(--bg-surface);color:var(--color-gray-400);cursor:pointer;font-size:var(--font-size-md);line-height:1;transition:background-color .15s,color .15s}.view-toggle-btn:not(:last-child){border-right:1px solid var(--color-gray-200)}.view-toggle-btn.active{background:var(--color-accent-light);color:var(--color-accent)}.projects-body{display:flex;gap:var(--space-5);align-items:flex-start}.projects-content{flex:1;min-width:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-5)}.projects-table-wrap{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.projects-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);white-space:nowrap}.projects-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.projects-table th.sortable:hover{color:var(--color-gray-700)}}.project-list-row{cursor:pointer;transition:background-color .1s}@media(hover:hover){.project-list-row:hover{background:var(--color-gray-50)}}.project-list-row td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-600);border-bottom:1px solid var(--color-gray-100);white-space:nowrap}.project-list-name{font-weight:600;color:var(--color-gray-700)}.project-list-progress{display:flex;align-items:center;gap:var(--space-2)}.project-list-actions{display:flex;gap:var(--space-2)}.projects-loading{text-align:center;padding:var(--space-12);color:var(--color-gray-400);font-size:var(--font-size-base)}.projects-error{text-align:center;padding:var(--space-12);color:var(--color-danger)}.projects-error p{margin-bottom:var(--space-4)}.projects-empty{text-align:center;padding:var(--space-12) var(--space-5);background:var(--bg-surface);border:1px dashed var(--color-gray-300);border-radius:var(--radius-md)}.projects-empty h2{font-size:var(--font-size-lg);color:var(--color-gray-600);margin-bottom:var(--space-2)}.projects-empty p{color:var(--color-gray-400);margin-bottom:var(--space-5)}.projects-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-gray-100)}.pagination-info{font-size:var(--font-size-sm);color:var(--color-gray-500)}@media(max-width:768px){.projects-body{flex-direction:column}.projects-grid{grid-template-columns:1fr}.projects-toolbar{flex-direction:column;align-items:stretch}.projects-search-wrap{max-width:none}.projects-toolbar-right{justify-content:space-between}}.detail-header{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-3)}.archived-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-4)) var(--space-2) calc(-1 * var(--space-4));background:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);border-radius:var(--radius-md) var(--radius-md) 0 0;font-size:var(--font-size-sm);color:var(--color-gray-600)}.archived-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;background:var(--color-gray-200);color:var(--color-gray-600)}.detail-header-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.detail-back-link{font-size:var(--font-size-sm);color:var(--color-gray-400);white-space:nowrap;transition:color .15s;flex-shrink:0}@media(hover:hover){.detail-back-link:hover{color:var(--color-accent)}}.detail-header-sep{color:var(--color-gray-300);font-size:var(--font-size-sm);flex-shrink:0}.detail-header-name{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-700);letter-spacing:-.3px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.detail-header-address{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.detail-header-meta{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;margin-left:auto}.detail-header-progress{display:flex;align-items:center;gap:var(--space-2);min-width:100px}.detail-header-stats{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-500)}.header-stat{white-space:nowrap;font-weight:500}.header-stat-sep{color:var(--color-gray-300)}.rollup-flag{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.rollup-flag-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.rollup-flag-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}@media(max-width:640px){.detail-header{padding:var(--space-2) var(--space-3)}.detail-header-row{gap:var(--space-1)}.detail-header-address{display:none}.detail-header-meta{width:100%;margin-left:0;margin-top:var(--space-1)}.detail-header-progress{flex:1;min-width:80px}.detail-header-stats{flex-wrap:wrap}}.complexity-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:var(--font-size-sm, 13px);font-weight:500;line-height:1.4;letter-spacing:.02em;text-transform:uppercase}.complexity-badge--simple{background:var(--color-surface-success, #f0fdf4);color:var(--color-text-success, #166534);border:1px solid var(--color-border-success, #bbf7d0)}.complexity-badge--moderate{background:var(--color-surface-info, #eff6ff);color:var(--color-text-info, #1e40af);border:1px solid var(--color-border-info, #bfdbfe)}.complexity-badge--complex{background:var(--color-surface-warning, #fffbeb);color:var(--color-text-warning, #92400e);border:1px solid var(--color-border-warning, #fde68a)}.complexity-badge--enterprise{background:var(--color-surface-danger, #fef2f2);color:var(--color-text-danger, #991b1b);border:1px solid var(--color-border-danger, #fecaca)}.complexity-badge__override{font-weight:400;font-size:var(--font-size-xs, 12px);text-transform:none;opacity:.8}.complexity-assessment{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:20px}.complexity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.complexity-title{font-size:var(--font-size-lg, 16px);font-weight:600;margin:0;color:var(--color-text-primary, #111827)}.complexity-body{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:768px){.complexity-body{grid-template-columns:1fr}}.complexity-chart{min-height:280px}.complexity-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, 13px)}.complexity-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--color-border, #e5e7eb);font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;font-size:var(--font-size-xs, 12px);letter-spacing:.04em}.complexity-table td{padding:6px 8px;border-bottom:1px solid var(--color-border-light, #f3f4f6);color:var(--color-text-primary, #111827)}.complexity-total-row{font-weight:600}.complexity-total-row td{border-top:2px solid var(--color-border, #e5e7eb);border-bottom:none;padding-top:8px}.complexity-score{font-weight:600;font-variant-numeric:tabular-nums}.complexity-score-max{color:var(--color-text-tertiary, #9ca3af);font-weight:400}.complexity-controls{display:flex;align-items:flex-end;gap:12px;margin-top:16px}.complexity-override{flex:1}.complexity-override label{display:block;font-size:var(--font-size-xs, 12px);font-weight:500;color:var(--color-text-secondary, #6b7280);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.complexity-override select{width:100%;padding:6px 8px;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:var(--font-size-base, 14px);font-family:inherit;background:var(--color-surface, #fff);color:var(--color-text-primary, #111827)}.complexity-assessed-at{margin-top:12px;font-size:var(--font-size-xs, 12px);color:var(--color-text-tertiary, #9ca3af)}.complexity-loading,.complexity-error{padding:20px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:var(--font-size-sm, 13px)}.complexity-error{color:var(--color-text-danger, #991b1b)}.overview-tab{display:flex;flex-direction:column;gap:var(--space-5)}.overview-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-3)}.overview-summary{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5)}.overview-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4)}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-value{font-size:var(--font-size-base);font-weight:500;color:var(--color-gray-700)}.overview-description{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1.6}.overview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.metric-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.metric-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-700)}.metric-sub{font-size:var(--font-size-xs);color:var(--color-gray-400)}.metric-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.overview-milestones{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5)}.milestone-list{display:flex;flex-direction:column;gap:var(--space-3)}.milestone-list-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm)}.milestone-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.milestone-dot-pending{background:var(--color-gray-300)}.milestone-dot-in-progress{background:var(--color-accent)}.milestone-dot-complete{background:var(--color-success)}.milestone-dot-delayed{background:var(--color-danger)}.milestone-item-name{flex:1;color:var(--color-gray-700)}.milestone-item-date{color:var(--color-gray-400);font-size:var(--font-size-xs)}.overview-empty-text{font-size:var(--font-size-sm);color:var(--color-gray-400)}.overview-actions{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5)}.overview-actions-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.overview-loading{text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm);padding:var(--space-4)}@media(max-width:767px){.overview-metrics{grid-template-columns:1fr}.overview-summary{padding:var(--space-3)}.overview-summary-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.overview-milestones,.overview-actions{padding:var(--space-3)}.overview-actions-row{flex-direction:column}}.gantt-segmented-border{stroke:var(--border-color, var(--color-gray-200));stroke-width:1}.gantt-segment-divider{stroke:var(--bg-surface);stroke-width:1}.gantt-segment-children{transition:opacity .25s ease,transform .25s ease}.gantt-segment-children-enter{opacity:0;transform:translateY(-4px)}.gantt-segment-children-active{opacity:1;transform:translateY(0)}.gantt-segmented-bar{transition:opacity .15s}.baseline-manager{padding:var(--space-4) 0}.baseline-manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.baseline-manager-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin:0}.baseline-manager-actions{display:flex;gap:var(--space-2)}.baseline-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-600);cursor:pointer;white-space:nowrap}.baseline-btn:hover{background:var(--bg-hover)}.baseline-btn:disabled{opacity:.5;cursor:not-allowed}.baseline-btn-primary{background:var(--color-accent);color:var(--text-on-primary, #fff);border-color:var(--color-accent)}.baseline-btn-primary:hover{opacity:.9}.baseline-btn-danger{color:var(--color-danger);border-color:var(--color-danger)}.baseline-btn-danger:hover{background:var(--color-danger);color:var(--text-on-primary, #fff)}.baseline-btn-sm{padding:2px var(--space-2);font-size:var(--font-size-xs)}.baseline-error{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.baseline-create-form{padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface)}.baseline-form-field{margin-bottom:var(--space-2)}.baseline-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);margin-bottom:var(--space-1)}.baseline-input{width:100%;padding:var(--space-2);font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-app);color:var(--color-gray-700);box-sizing:border-box}.baseline-input:focus{outline:none;border-color:var(--color-accent)}.baseline-form-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.baseline-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.baseline-empty{font-size:var(--font-size-sm);color:var(--color-gray-400);padding:var(--space-3) 0}.baseline-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.baseline-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-surface);cursor:pointer;transition:background .1s}.baseline-item:hover{background:var(--bg-hover)}.baseline-item-selected{background:var(--color-accent-bg, var(--bg-active));border-left:3px solid var(--color-accent)}.baseline-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.baseline-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.baseline-item-date{font-size:var(--font-size-xs);color:var(--color-gray-400)}.baseline-item-note{font-size:var(--font-size-xs);color:var(--color-gray-400);font-style:italic}.baseline-item-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.baseline-confirm-text{font-size:var(--font-size-xs);color:var(--color-danger);font-weight:500}.baseline-limit-warning{font-size:var(--font-size-xs);color:var(--color-warning);margin-top:var(--space-2)}.baseline-comparison{margin-top:var(--space-4)}.baseline-comparison-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-3) 0}.baseline-table-wrapper{overflow-x:auto}.baseline-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.baseline-table th{text-align:left;padding:var(--space-2);font-weight:600;color:var(--color-gray-600);border-bottom:2px solid var(--border-color);white-space:nowrap}.baseline-table td{padding:var(--space-2);color:var(--color-gray-600);border-bottom:1px solid var(--border-color);white-space:nowrap}.baseline-cell-task{font-weight:500;color:var(--color-gray-700);max-width:200px;overflow:hidden;text-overflow:ellipsis}.baseline-row-slipped{background:var(--color-danger-bg)}.baseline-var-behind{color:var(--color-danger);font-weight:500}.baseline-var-ahead{color:var(--color-success);font-weight:500}.gantt-container{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:400px;border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-lg, 12px);background:var(--bg-surface);overflow:hidden}.gantt-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color, var(--color-gray-200));background:var(--color-gray-50);flex-wrap:wrap;flex-shrink:0}.gantt-toolbar-group{display:flex;align-items:center;gap:var(--space-1)}.gantt-btn{padding:var(--space-1) var(--space-2);border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-sm, 6px);background:var(--bg-surface);color:var(--color-gray-600);font-size:var(--font-size-xs);font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}@media(hover:hover){.gantt-btn:hover{background:var(--bg-hover);color:var(--color-gray-700)}}.gantt-btn.active,.gantt-btn-primary{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.gantt-btn-primary:hover{background:var(--color-accent-hover, var(--color-accent))}}.gantt-btn-critical.active{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.gantt-zoom-group{border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-sm, 6px);overflow:hidden;gap:0}.gantt-zoom-btn{border:none;border-radius:0;border-right:1px solid var(--border-color, var(--color-gray-200))}.gantt-zoom-btn:last-child{border-right:none}.gantt-body{display:flex;flex:1;min-height:0;overflow:hidden}.gantt-splitter{width:5px;cursor:col-resize;background:var(--border-color, var(--color-gray-200));flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}@media(hover:hover){.gantt-splitter:hover{background:var(--color-accent)}}.gantt-splitter-handle{width:2px;height:24px;border-radius:1px;background:var(--color-gray-400);opacity:.5}@media(hover:hover){.gantt-splitter:hover .gantt-splitter-handle{background:var(--color-white);opacity:1}}.gantt-table{display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.gantt-table-header{display:flex;align-items:center;border-bottom:1px solid var(--border-color, var(--color-gray-200));background:var(--color-gray-50);flex-shrink:0}.gantt-th{padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;height:100%}.gantt-th-code{width:70px;min-width:70px}.gantt-th-title{flex:1;min-width:100px}.gantt-th-duration{width:56px;min-width:56px}.gantt-th-date{width:70px;min-width:70px}.gantt-th-preds{width:50px;min-width:50px}.gantt-th-pct{width:36px;min-width:36px}.gantt-th-assignee{width:80px;min-width:80px}.gantt-table-body{flex:1;overflow-y:auto;overflow-x:hidden}.gantt-table-row{display:flex;align-items:center;border-bottom:1px solid var(--border-color, var(--color-gray-100));box-sizing:border-box}@media(hover:hover){.gantt-table-row:hover{background:var(--bg-hover)}}.gantt-td{padding:0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;height:100%}.gantt-td-code{width:70px;min-width:70px;gap:2px}.gantt-td-title{flex:1;min-width:100px;gap:var(--space-1)}.gantt-td-duration{width:56px;min-width:56px}.gantt-td-date{width:70px;min-width:70px}.gantt-td-preds{width:50px;min-width:50px}.gantt-td-pct{width:36px;min-width:36px}.gantt-td-assignee{width:80px;min-width:80px}.gantt-expand-btn{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--color-gray-400);font-size:8px;flex-shrink:0;border-radius:2px}@media(hover:hover){.gantt-expand-btn:hover{background:var(--bg-active);color:var(--color-gray-700)}}.gantt-expand-spacer{width:16px;flex-shrink:0}.gantt-code{color:var(--color-gray-400);font-variant-numeric:tabular-nums;font-size:10px}.gantt-milestone-icon{color:var(--color-warning);font-size:10px;flex-shrink:0}.gantt-cell-text{cursor:text;padding:1px 2px;border-radius:2px;overflow:hidden;text-overflow:ellipsis}@media(hover:hover){.gantt-cell-text:hover{background:var(--bg-hover)}}.gantt-cell-input{width:100%;padding:1px 2px;border:1px solid var(--color-accent);border-radius:2px;font-size:var(--font-size-xs);font-family:inherit;outline:none;background:var(--bg-surface);color:var(--color-gray-700);box-shadow:0 0 0 2px var(--color-accent-light)}.gantt-preds-text{color:var(--color-gray-400);cursor:default}.gantt-timeline{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.gantt-timeline-header{flex-shrink:0;overflow:hidden;border-bottom:1px solid var(--border-color, var(--color-gray-200))}.gantt-timeline-scroll{flex:1;overflow:auto}.gantt-timeline-svg{display:block}.gantt-header-cell-top{fill:var(--color-gray-50)}.gantt-header-cell-bottom{fill:var(--bg-surface)}.gantt-header-text-top{fill:var(--color-gray-500);font-size:10px;font-weight:600;font-family:inherit}.gantt-header-text-bottom{fill:var(--color-gray-500);font-size:10px;font-family:inherit}.gantt-header-divider{stroke:var(--border-color, var(--color-gray-200));stroke-width:.5}.gantt-header-border{stroke:var(--border-color, var(--color-gray-200));stroke-width:1}.gantt-row-even{fill:var(--bg-surface)}.gantt-row-odd{fill:var(--color-gray-50)}.gantt-weekend-band{fill:var(--color-gray-100);opacity:.5}.gantt-grid-line{stroke:var(--border-color, var(--color-gray-100));stroke-width:.5}.gantt-bar{fill:var(--color-accent);opacity:.85;transition:opacity .15s}@media(hover:hover){.gantt-bar:hover{opacity:1}}.gantt-bar-critical{fill:var(--color-danger)}.gantt-bar-faded{opacity:.4}.gantt-bar-dragging{opacity:.6}.gantt-bar-progress{fill:var(--color-accent);opacity:.4;pointer-events:none}.gantt-bar-progress-critical{fill:var(--color-danger);opacity:.4}.gantt-bar-edge{fill:var(--color-white);opacity:.7}@media(hover:hover){.gantt-bar-edge:hover{opacity:1}}.gantt-bar-label{fill:var(--color-white);font-size:10px;font-family:inherit;pointer-events:none}.gantt-connector-dot{fill:var(--color-accent);stroke:var(--color-white);stroke-width:1.5}@media(hover:hover){.gantt-connector-dot:hover{fill:var(--color-accent-hover, var(--color-accent));r:5}}.gantt-milestone-filled{fill:var(--color-accent)}.gantt-milestone-outline{fill:none;stroke:var(--color-accent);stroke-width:2}.gantt-milestone-critical{fill:var(--color-danger);stroke:var(--color-danger)}.gantt-milestone-faded{opacity:.4}.gantt-dep-arrow{fill:none;stroke:var(--color-gray-400);stroke-width:1.5}.gantt-dep-arrow-critical{fill:none;stroke:var(--color-danger);stroke-width:1.5}.gantt-arrow-marker{fill:var(--color-gray-400)}.gantt-arrow-marker-critical{fill:var(--color-danger)}.gantt-dep-rubberband{stroke:var(--color-accent);stroke-width:2;stroke-dasharray:4 4;fill:none}.gantt-today-line{stroke:var(--color-danger);stroke-width:1.5;stroke-dasharray:4 3;opacity:.7}.gantt-today-label-bg{fill:var(--color-danger);opacity:.9}.gantt-today-label{fill:var(--color-white);font-size:9px;font-weight:600;font-family:inherit}.gantt-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-gray-400);font-size:var(--font-size-sm)}.gantt-error{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-danger);font-size:var(--font-size-sm)}.tasks-view-toggle{display:flex;border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-md, 8px);overflow:hidden}.tasks-view-btn{padding:var(--space-2) var(--space-3);border:none;background:var(--bg-surface);color:var(--color-gray-600);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:background .15s,color .15s;border-right:1px solid var(--border-color, var(--color-gray-200))}.tasks-view-btn:last-child{border-right:none}@media(hover:hover){.tasks-view-btn:hover{background:var(--bg-hover)}}.tasks-view-btn.active{background:var(--color-accent);color:var(--color-white)}.gantt-baseline-bar{fill:var(--color-baseline, var(--color-gray-300));opacity:.4}.gantt-baseline-slipped{fill:var(--color-baseline-slipped, var(--color-warning));opacity:.5}.gantt-baseline-group{margin-left:auto}.gantt-baseline-select{font-size:var(--font-size-xs);font-family:var(--font-family);padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-700);cursor:pointer;min-width:120px}.gantt-baseline-select:focus{outline:none;border-color:var(--color-accent)}@media(hover:none){.gantt-expand-btn{min-width:44px;min-height:44px}}.gantt-banner-mobile{display:none;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-info-bg);color:var(--color-info-text);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-info-border);flex-shrink:0}@media(max-width:767px){.gantt-banner-mobile{display:flex}.gantt-timeline,.gantt-splitter{display:none}.gantt-table{flex:1;width:100%}.gantt-toolbar{padding:var(--space-2);gap:var(--space-2)}.gantt-baseline-group{margin-left:0;width:100%}.gantt-zoom-group,.gantt-th-preds,.gantt-td-preds,.gantt-th-assignee,.gantt-td-assignee{display:none}}.task-calendar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.task-calendar-nav{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.task-calendar-nav-left{display:flex;align-items:center;gap:var(--space-2)}.task-calendar-nav-btn{padding:var(--space-1) var(--space-2)!important;min-width:30px;font-size:var(--font-size-sm)}@media(hover:none){.task-calendar-nav-btn{min-width:44px;min-height:44px}}.task-calendar-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin-left:var(--space-2)}.task-calendar-view-toggle{display:flex;background:var(--bg-app);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color)}.task-calendar-view-btn{padding:var(--space-1) var(--space-3);background:none;border:none;font-size:var(--font-size-xs);color:var(--color-gray-500);cursor:pointer}.task-calendar-view-btn.active{background:var(--bg-surface);color:var(--color-accent);font-weight:600}.task-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.task-calendar-header-cell{padding:var(--space-2) var(--space-1);text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);background:var(--bg-app);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px}.task-calendar-cell{min-height:90px;padding:var(--space-1);border-bottom:1px solid var(--border-color-light);border-right:1px solid var(--border-color-light);background:var(--bg-surface);cursor:pointer;transition:background .1s}@media(hover:hover){.task-calendar-cell:hover{background:var(--bg-hover)}}.task-calendar-cell.other-month{background:var(--bg-stripe)}.task-calendar-cell.other-month .task-calendar-day-number{color:var(--color-gray-300)}.task-calendar-cell.today{background:var(--color-accent-light)}.task-calendar-cell.today .task-calendar-day-number{color:var(--color-accent);font-weight:700}.task-calendar-cell.week-view{min-height:200px}.task-calendar-day-number{display:block;font-size:var(--font-size-xs);color:var(--color-gray-600);margin-bottom:var(--space-1);font-weight:500}.task-calendar-tasks{display:flex;flex-direction:column;gap:2px}.task-calendar-task{font-size:10px;padding:1px var(--space-1);border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;background:var(--color-accent-light);color:var(--color-accent);transition:box-shadow .1s}@media(hover:hover){.task-calendar-task:hover{box-shadow:var(--shadow-sm)}}.task-calendar-task[data-status=in-progress]{background:var(--color-warning-bg);color:var(--color-warning-text)}.task-calendar-task[data-status=complete]{background:var(--color-success-bg);color:var(--color-success-text)}.task-calendar-task[data-status=on-hold]{background:var(--color-info-bg);color:var(--color-info-text)}.task-calendar-task[data-status=cancelled]{background:var(--color-danger-bg);color:var(--color-danger-text)}.task-calendar-task.milestone{background:var(--color-warning-bg);color:var(--color-warning-text);font-weight:600}.task-calendar-more{font-size:10px;color:var(--color-gray-400);padding-left:var(--space-1)}.task-calendar-agenda{display:none;flex-direction:column;gap:var(--space-1)}.task-calendar-agenda-day{display:flex;flex-direction:column;gap:var(--space-1)}.task-calendar-agenda-date{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);padding:var(--space-2) 0;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-app);z-index:1}.task-calendar-agenda-date.is-today{color:var(--color-accent)}.task-calendar-agenda-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-color-light);cursor:pointer;min-height:var(--tap-target-min)}.task-calendar-agenda-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color-accent)}.task-calendar-agenda-dot[data-status=in-progress]{background:var(--color-warning)}.task-calendar-agenda-dot[data-status=complete]{background:var(--color-success)}.task-calendar-agenda-dot[data-status=on-hold]{background:var(--color-info)}.task-calendar-agenda-dot[data-status=cancelled]{background:var(--color-danger)}.task-calendar-agenda-title{flex:1;font-size:var(--font-size-sm);color:var(--color-gray-700);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-calendar-agenda-status{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap}.task-calendar-agenda-empty{font-size:var(--font-size-sm);color:var(--color-gray-400);text-align:center;padding:var(--space-6)}@media(max-width:767px){.task-calendar-grid{display:none}.task-calendar-agenda{display:flex}.task-calendar-nav{flex-wrap:wrap;gap:var(--space-2)}.task-calendar-view-toggle{display:none}}.plan-actual{border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);padding:16px;margin:16px 0;background:var(--bg-secondary, #fafafa)}.plan-actual-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.plan-actual-title{font-size:14px;font-weight:600;margin:0;color:var(--text-primary)}.plan-actual-controls{display:flex;align-items:center;gap:8px}.plan-actual-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer}.plan-actual-toggle input{margin:0}.plan-actual-status{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm, 4px);margin-bottom:16px;font-size:13px}.plan-actual-status-label{font-weight:600}.plan-actual-status-detail{color:var(--text-secondary)}.variance-status-on_track,.variance-status-ahead{background:var(--color-success-bg, #e8f8ed);color:var(--color-success, #34C759)}.variance-status-at_risk{background:var(--color-warning-bg, #fff4e5);color:var(--color-warning, #FF9500)}.variance-status-behind{background:var(--color-danger-bg, #fef0ef);color:var(--color-danger, #FF3B30)}.plan-actual-section{margin-bottom:16px}.plan-actual-section:last-child{margin-bottom:0}.plan-actual-section-title{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.plan-actual-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-actual-field{display:flex;flex-direction:column;gap:4px}.plan-actual-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.plan-actual-field input{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);font-size:13px;font-family:inherit;background:var(--bg-primary, #fff)}.plan-actual-field input:focus{outline:none;border-color:var(--color-accent, #007AFF);box-shadow:0 0 0 2px #007aff26}.plan-actual-not-started{font-size:13px;color:var(--text-tertiary, #999);font-style:italic;margin:8px 0 0}.notes-panel{margin-top:var(--space-4)}.notes-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.notes-panel-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0}.notes-panel-actions{display:flex;align-items:center;gap:var(--space-2)}.notes-panel-status{padding:var(--space-3);color:var(--color-gray-400);font-size:var(--font-size-sm)}.notes-panel-error{padding:var(--space-3);color:var(--color-danger);font-size:var(--font-size-sm)}.notes-panel-empty{padding:var(--space-5);text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm)}.notes-panel-search{margin-bottom:var(--space-3)}.notes-search-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface)}.notes-search-input:focus{outline:none;border-color:var(--color-accent)}.notes-list{display:flex;flex-direction:column;gap:var(--space-3)}.note-card{padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--bg-surface)}.note-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.note-card-date{font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:500}.note-card-actions{display:flex;gap:var(--space-2);opacity:0;transition:opacity .15s}.note-card:hover .note-card-actions{opacity:1}.note-card-action{background:none;border:none;padding:0;font-size:var(--font-size-xs);color:var(--color-gray-400);cursor:pointer}.note-card-action:hover{color:var(--color-accent)}.note-card-action--danger:hover{color:var(--color-danger)}.note-card-content{font-size:var(--font-size-base);color:var(--color-gray-700);line-height:var(--line-height);white-space:pre-wrap;word-break:break-word}.note-editor{margin-bottom:var(--space-3)}.note-editor-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-gray-700);line-height:var(--line-height);resize:vertical;min-height:100px;background:var(--bg-surface)}.note-editor-textarea:focus{outline:none;border-color:var(--color-accent)}.note-editor-textarea:disabled{opacity:.6}.note-editor-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.note-editor-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.note-editor-buttons{display:flex;gap:var(--space-2)}.voice-recorder{display:flex;align-items:center;gap:var(--space-2)}.voice-recorder-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-danger);animation:voice-pulse 1s infinite}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.4}}.voice-recorder-duration{font-size:var(--font-size-sm);color:var(--color-gray-700);font-variant-numeric:tabular-nums}.tab-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5)}.tab-card+.tab-card{margin-top:var(--space-5)}.tab-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.tab-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-3)}.tab-card-header .tab-section-title{margin-bottom:0}.tab-empty{font-size:var(--font-size-sm);color:var(--color-gray-400);padding:var(--space-4) 0}.tab-table-wrap{overflow-x:auto}.tab-table{width:100%;border-collapse:collapse}.tab-table th{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-gray-200);white-space:nowrap}.tab-table td{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-gray-600);border-bottom:1px solid var(--color-gray-100)}.team-name{font-weight:600;color:var(--color-gray-700);display:flex;align-items:center;gap:var(--space-2)}.primary-badge{display:inline-flex;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;background:var(--color-accent-light);color:var(--color-accent)}.finance-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4)}.finance-stat{display:flex;flex-direction:column;gap:2px}.finance-stat-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.finance-stat-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-700)}.finance-negative{color:var(--color-danger)}.finance-cat-name{font-weight:600;color:var(--color-gray-700)}.finance-pct-cell{display:flex;align-items:center;gap:var(--space-2)}.schedule-tab{display:flex;flex-direction:column;gap:var(--space-5)}.schedule-dates{display:flex;gap:var(--space-8)}.schedule-date-item{display:flex;flex-direction:column;gap:2px}.schedule-date-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.schedule-date-value{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.schedule-timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:var(--space-3);min-height:48px}.timeline-marker{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.timeline-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.timeline-line{width:2px;flex:1;background:var(--color-gray-200);margin:4px 0}.timeline-content{flex:1;padding-bottom:var(--space-4)}.timeline-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.timeline-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.timeline-status{font-size:var(--font-size-xs);font-weight:500}.timeline-date{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.tab-placeholder .tab-card{min-height:200px;display:flex;align-items:center;justify-content:center}.placeholder-content{text-align:center;max-width:400px}.placeholder-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-600);margin-bottom:var(--space-2)}.placeholder-description{font-size:var(--font-size-sm);color:var(--color-gray-400);line-height:1.6;margin-bottom:var(--space-4)}.placeholder-badge{display:inline-flex;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;background:var(--color-gray-100);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px}.task-board{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);overflow-x:auto}.task-board-toolbar{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.task-board-group-label{font-size:var(--font-size-sm);color:var(--color-gray-500)}.task-board-group-select{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-700)}.task-board-swimlane{margin-bottom:var(--space-4)}.task-board-swimlane-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-2);border-bottom:1px solid var(--border-color)}.task-board-swimlane-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.task-board-swimlane-count{font-size:var(--font-size-xs);color:var(--color-gray-400);background:var(--bg-hover);padding:2px var(--space-2);border-radius:var(--radius-sm)}.task-board-columns{display:flex;gap:var(--space-3);min-height:200px}.task-board-column{flex:1;min-width:200px;background:var(--bg-app);border-radius:var(--radius-md);display:flex;flex-direction:column}.task-board-column-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color)}.task-board-column-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.5px}.task-board-column-count{font-size:var(--font-size-xs);color:var(--color-gray-400)}.task-board-column-body{flex:1;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);min-height:100px}.task-board-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-3);cursor:grab;transition:box-shadow .15s}@media(hover:hover){.task-board-card:hover{box-shadow:var(--shadow-md)}}.task-board-card:active{cursor:grabbing}.task-board-card-header{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2)}.task-board-priority-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}.task-board-card-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);line-height:var(--line-height)}.task-board-card-assignee{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--space-1)}.task-board-card-avatar{width:20px;height:20px;border-radius:50%;background:var(--color-accent-light);color:var(--color-accent);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;flex-shrink:0}.task-board-card-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.task-board-card-date{font-size:var(--font-size-xs);color:var(--color-gray-400)}.task-board-card-tag{font-size:10px;padding:1px var(--space-1);background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--color-gray-500)}.task-board-card-progress{height:3px;background:var(--color-gray-100);border-radius:2px;margin-top:var(--space-2);overflow:hidden}.task-board-card-progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .2s}.task-board-empty{text-align:center;color:var(--color-gray-300);font-size:var(--font-size-xs);padding:var(--space-6) var(--space-2)}.task-board-add-btn{margin:var(--space-2);padding:var(--space-1);border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:none;color:var(--color-gray-400);font-size:var(--font-size-xs);cursor:pointer;transition:color .15s,border-color .15s}@media(hover:hover){.task-board-add-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}}@media(max-width:767px){.task-board{padding:var(--space-2)}.task-board-columns{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2)}.task-board-column{min-width:280px;flex:0 0 280px;scroll-snap-align:start}}.template-picker-overlay{position:fixed;inset:0;background:#0000004d;z-index:1000}.template-picker-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;max-width:90vw;max-height:80vh;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column}.template-picker-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color)}.template-picker-header h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin:0}.template-picker-close{background:none;border:none;font-size:var(--font-size-lg);color:var(--color-gray-400);cursor:pointer;padding:var(--space-1)}@media(hover:hover){.template-picker-close:hover{color:var(--color-gray-700)}}.template-picker-body{display:flex;flex:1;overflow:hidden}.template-picker-list{width:300px;border-right:1px solid var(--border-color);overflow-y:auto;padding:var(--space-2)}.template-picker-loading{padding:var(--space-6);text-align:center;color:var(--color-gray-400)}.template-picker-item{padding:var(--space-3);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:var(--space-1);transition:background .1s}@media(hover:hover){.template-picker-item:hover{background:var(--bg-hover)}}.template-picker-item.selected{background:var(--color-accent-light);border:1px solid var(--color-accent)}.template-picker-item-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.template-picker-item-meta{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.template-picker-item-category{font-size:var(--font-size-xs);padding:1px var(--space-1);background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--color-gray-500);text-transform:capitalize}.template-picker-item-count{font-size:var(--font-size-xs);color:var(--color-gray-400)}.template-picker-item-desc{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--space-1);line-height:var(--line-height)}.template-picker-preview{flex:1;overflow-y:auto;padding:var(--space-4)}.template-picker-preview h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-2)}.template-picker-preview-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-3)}.template-picker-task-list{display:flex;flex-direction:column;gap:2px}.template-picker-task-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}@media(hover:hover){.template-picker-task-item:hover{background:var(--bg-hover)}}.template-picker-task-name{color:var(--color-gray-700)}.template-picker-task-name.milestone{color:var(--color-warning-text);font-weight:600}.template-picker-task-meta{font-size:var(--font-size-xs);color:var(--color-gray-400)}.template-picker-no-preview{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-gray-300);font-size:var(--font-size-sm)}.template-picker-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color)}.template-picker-date{display:flex;align-items:center;gap:var(--space-2)}.template-picker-date label{font-size:var(--font-size-sm);color:var(--color-gray-500)}.template-picker-date input{padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}@media(hover:none){.template-picker-close{min-width:44px;min-height:44px}}.template-picker-actions{display:flex;gap:var(--space-2)}.tasks-tab{display:flex;flex-direction:column;gap:var(--space-4)}.tasks-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.tasks-toolbar .btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm);cursor:pointer;border:1px solid var(--border-color, var(--color-gray-200));background:var(--bg-surface);color:var(--color-gray-700);transition:background .15s,border-color .15s}@media(hover:hover){.tasks-toolbar .btn:hover{background:var(--bg-hover)}}.tasks-toolbar .btn-primary{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.tasks-toolbar .btn-primary:hover{background:var(--color-accent-hover)}}.tasks-search{flex:1;min-width:160px;max-width:280px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--color-gray-700);outline:none}.tasks-search:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.tasks-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--color-gray-700);cursor:pointer}.tasks-bulk-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-accent-light);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm);color:var(--color-gray-700)}.tasks-bulk-bar .btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.tasks-table-container{background:var(--bg-surface);border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-lg, 12px);overflow:hidden}.tasks-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tasks-table th{text-align:left;padding:var(--space-2) var(--space-3);font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color, var(--color-gray-200));background:var(--color-gray-50);-webkit-user-select:none;user-select:none}.tasks-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color, var(--color-gray-100));vertical-align:middle}.tasks-table tr:last-child td{border-bottom:none}@media(hover:hover){.tasks-table tr:hover td{background:var(--bg-hover)}}.tasks-table tr.selected td{background:var(--bg-selected)}.task-row-depth-0 td:first-child{padding-left:var(--space-3)}.task-row-depth-1 td:first-child{padding-left:calc(var(--space-3) + 20px)}.task-row-depth-2 td:first-child{padding-left:calc(var(--space-3) + 40px)}.task-row-depth-3 td:first-child{padding-left:calc(var(--space-3) + 60px)}.task-code{color:var(--color-gray-400);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;min-width:48px;display:inline-block}.task-title-cell{display:flex;align-items:center;gap:var(--space-2);min-width:200px}.task-expand-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--color-gray-400);font-size:var(--font-size-xs);border-radius:var(--radius-sm, 4px);transition:background .1s;flex-shrink:0}@media(hover:hover){.task-expand-btn:hover{background:var(--bg-active);color:var(--color-gray-700)}}.task-expand-placeholder{width:20px;flex-shrink:0}.task-title-text{cursor:text;padding:2px 4px;border-radius:var(--radius-sm, 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}@media(hover:hover){.task-title-text:hover{background:var(--bg-hover)}}.task-title-input{border:1px solid var(--color-accent);border-radius:var(--radius-sm, 4px);padding:2px 4px;font-size:var(--font-size-sm);font-family:inherit;outline:none;width:100%;max-width:300px;box-shadow:0 0 0 3px var(--color-accent-light)}.task-milestone-icon{color:var(--color-warning);font-size:var(--font-size-xs);flex-shrink:0}.task-status-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:999px;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .15s;border:1px solid transparent}@media(hover:hover){.task-status-badge:hover{opacity:.85}}.task-status-badge.not-started{background:var(--color-gray-100);color:var(--color-gray-600);border-color:var(--color-gray-200)}.task-status-badge.in-progress{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.task-status-badge.complete{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.task-status-badge.on-hold{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.task-status-badge.cancelled{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.task-priority-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.task-priority-badge.critical{color:var(--color-danger)}.task-priority-badge.high{color:var(--color-warning-text)}.task-priority-badge.medium{color:var(--color-gray-500)}.task-priority-badge.low{color:var(--color-gray-400)}.task-progress-bar{width:60px;height:6px;background:var(--color-gray-100);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle}.task-progress-fill{height:100%;border-radius:3px;background:var(--color-accent);transition:width .2s}.task-progress-fill.complete{background:var(--color-success)}.task-progress-text{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-left:var(--space-1);font-variant-numeric:tabular-nums}.task-date{font-size:var(--font-size-xs);color:var(--color-gray-500);white-space:nowrap;cursor:pointer}@media(hover:hover){.task-date:hover{color:var(--color-accent)}}.task-date-input{border:1px solid var(--color-accent);border-radius:var(--radius-sm, 4px);padding:1px 4px;font-size:var(--font-size-xs);font-family:inherit;outline:none;box-shadow:0 0 0 3px var(--color-accent-light)}.task-assignee{font-size:var(--font-size-xs);color:var(--color-gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.task-select-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}.tasks-empty{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-gray-400)}.tasks-empty h3{margin:0 0 var(--space-2);font-size:var(--font-size-md);color:var(--color-gray-600)}.tasks-empty p{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.task-detail-overlay{position:fixed;inset:0;background:#0003;z-index:100}.task-detail-panel{position:fixed;top:0;right:0;bottom:0;width:40%;min-width:400px;max-width:600px;background:var(--bg-surface);box-shadow:-4px 0 24px #0000001f;z-index:101;display:flex;flex-direction:column;overflow-y:auto}.task-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-color, var(--color-gray-200))}.task-detail-header h2{margin:0;font-size:var(--font-size-lg);color:var(--color-gray-700)}.task-detail-close{border:none;background:none;font-size:var(--font-size-lg);cursor:pointer;color:var(--color-gray-400);padding:var(--space-1);border-radius:var(--radius-sm, 4px)}@media(hover:hover){.task-detail-close:hover{background:var(--bg-hover);color:var(--color-gray-700)}}.task-detail-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);flex:1}.task-detail-field{display:flex;flex-direction:column;gap:var(--space-1)}.task-detail-field label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em}.task-detail-field input,.task-detail-field select,.task-detail-field textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color, var(--color-gray-200));border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-gray-700);background:var(--bg-surface);outline:none}.task-detail-field input:focus,.task-detail-field select:focus,.task-detail-field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.task-detail-field textarea{resize:vertical;min-height:80px}.task-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.task-checklist{display:flex;flex-direction:column;gap:var(--space-2)}.task-checklist-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.task-checklist-item input[type=checkbox]{accent-color:var(--color-accent)}.task-checklist-item input[type=text]{flex:1;border:none;border-bottom:1px solid var(--border-color, var(--color-gray-200));padding:var(--space-1) 0;font-size:var(--font-size-sm);background:transparent;color:var(--color-gray-700);outline:none}.task-checklist-item input[type=text]:focus{border-color:var(--color-accent)}.task-checklist-item .completed-text{text-decoration:line-through;color:var(--color-gray-400)}.task-checklist-add{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;border:none;background:none}@media(hover:hover){.task-checklist-add:hover{text-decoration:underline}}.task-checklist-remove{border:none;background:none;color:var(--color-gray-300);cursor:pointer;font-size:var(--font-size-sm);padding:2px}@media(hover:hover){.task-checklist-remove:hover{color:var(--color-danger)}}.task-detail-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color, var(--color-gray-200));display:flex;gap:var(--space-3);justify-content:flex-end}.task-detail-footer .btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm);cursor:pointer;border:1px solid var(--border-color, var(--color-gray-200));background:var(--bg-surface);color:var(--color-gray-700)}.task-detail-footer .btn-primary{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.task-detail-footer .btn-danger{color:var(--color-danger);border-color:var(--color-danger-border)}@media(hover:hover){.task-detail-footer .btn-danger:hover{background:var(--color-danger-bg)}}.tasks-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.tasks-toolbar-btn{padding:var(--space-1) var(--space-2)!important;font-size:var(--font-size-xs)!important}.tasks-export-dropdown{display:flex;gap:var(--space-1)}.task-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-top:var(--space-4)}.task-detail-tab-btn{padding:var(--space-2) var(--space-3);background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;transition:color .15s,border-color .15s}@media(hover:hover){.task-detail-tab-btn:hover{color:var(--color-gray-700)}}.task-detail-tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.task-comments-section{padding:var(--space-3) 0}.task-comments-loading{color:var(--color-gray-400);font-size:var(--font-size-sm);padding:var(--space-2)}.task-comment{padding:var(--space-2) 0;border-bottom:1px solid var(--border-color-light)}.task-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.task-comment-author{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.task-comment-time{font-size:var(--font-size-xs);color:var(--color-gray-400)}.task-comment-body{font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:var(--line-height);white-space:pre-wrap}.task-comment-add{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.task-comment-add textarea{width:100%;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);resize:vertical}.task-comment-add .btn-sm{align-self:flex-end;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.task-activity-section{padding:var(--space-3) 0}.task-activity-loading,.task-activity-empty{color:var(--color-gray-400);font-size:var(--font-size-sm);padding:var(--space-2)}.task-activity-entry{padding:var(--space-2) 0;border-bottom:1px solid var(--border-color-light);display:flex;flex-direction:column;gap:2px}.task-activity-text{font-size:var(--font-size-sm);color:var(--color-gray-600)}.task-activity-meta{font-size:var(--font-size-xs);color:var(--color-gray-400)}@media(hover:none){.task-expand-btn,.task-select-checkbox,.task-checklist-remove{min-width:44px;min-height:44px}}.tasks-col-checkbox{width:32px}.tasks-col-code{width:60px}.tasks-col-status{width:110px}.tasks-col-priority{width:80px}.tasks-col-assignee{width:100px}.tasks-col-date,.tasks-col-progress{width:90px}.tasks-col-actions{width:32px}.tasks-loading{text-align:center;padding:var(--space-8);color:var(--color-gray-400);font-size:var(--font-size-sm)}.expiration-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs, 12px);font-weight:500;white-space:nowrap}.expiration-badge.expired{background:var(--color-danger-bg);color:var(--color-danger-text)}.expiration-badge.urgent,.expiration-badge.warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.expiration-badge.ok{background:var(--color-gray-100);color:var(--color-gray-600)}.doc-upload-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.doc-upload-modal{background:var(--color-white);border-radius:var(--radius-lg, 12px);width:600px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:var(--space-5, 20px)}.doc-upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4, 16px)}.doc-upload-header h3{margin:0;font-size:var(--font-size-lg, 18px)}.doc-upload-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-gray-400);line-height:1}@media(hover:none){.doc-upload-close{min-width:44px;min-height:44px}}.doc-drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-md, 8px);padding:var(--space-6, 24px);text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:var(--space-4, 16px)}@media(hover:hover){.doc-drop-zone:hover{border-color:var(--color-accent);background:var(--color-gray-50)}}.doc-drop-zone.active{border-color:var(--color-accent);background:var(--color-gray-50)}.doc-drop-zone.has-file{border-style:solid;border-color:var(--color-accent);background:var(--color-info-bg)}.doc-drop-prompt p{margin:0;color:var(--color-gray-500);font-size:var(--font-size-sm, 14px)}.doc-drop-file{display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px)}.doc-drop-filename{font-weight:600}.doc-drop-size{color:var(--color-gray-500);font-size:var(--font-size-sm, 14px)}.doc-drop-remove{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:var(--font-size-sm, 14px)}.doc-upload-fields{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.doc-upload-row{display:flex;gap:var(--space-3, 12px)}.doc-upload-field{flex:1;position:relative}.doc-upload-field.full{flex:1 1 100%}.doc-upload-field label{display:block;font-size:var(--font-size-sm, 14px);font-weight:600;margin-bottom:var(--space-1, 4px);color:var(--color-gray-700)}.doc-upload-field input,.doc-upload-field select,.doc-upload-field textarea{width:100%;padding:var(--space-2, 8px);border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, 14px);box-sizing:border-box}.doc-upload-field textarea{resize:vertical}.doc-upload-autocomplete{position:absolute;top:100%;left:0;right:0;background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);box-shadow:0 4px 12px #0000001a;z-index:10;max-height:200px;overflow-y:auto}.doc-upload-autocomplete-item{padding:var(--space-2, 8px);cursor:pointer;font-size:var(--font-size-sm, 14px)}@media(hover:hover){.doc-upload-autocomplete-item:hover{background:var(--color-gray-50)}}.doc-upload-clear{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:var(--font-size-xs, 12px);padding:0;margin-top:2px}.doc-upload-progress{height:4px;background:var(--color-gray-200);border-radius:2px;margin:var(--space-3, 12px) 0;overflow:hidden}.doc-upload-progress-bar{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.doc-upload-error{color:var(--color-danger);font-size:var(--font-size-sm, 14px);margin:var(--space-2, 8px) 0}.doc-upload-actions{display:flex;justify-content:flex-end;gap:var(--space-2, 8px);margin-top:var(--space-4, 16px)}.doc-upload-cancel{background:none;border:1px solid var(--border-color);padding:var(--space-2, 8px) var(--space-4, 16px);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:var(--font-size-sm, 14px)}.doc-upload-submit{background:var(--color-accent);color:var(--color-white);border:none;padding:var(--space-2, 8px) var(--space-4, 16px);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:var(--font-size-sm, 14px);font-weight:600}.doc-upload-submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:767px){.doc-upload-modal{width:calc(100vw - var(--space-4));max-width:none;margin:var(--space-2)}.doc-upload-row,.doc-upload-actions{flex-direction:column}.doc-upload-cancel,.doc-upload-submit{width:100%;text-align:center}}.diary-calendar{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-5)}.diary-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.diary-calendar-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.diary-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.diary-calendar-weekday{text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);padding:var(--space-1) 0;text-transform:uppercase;letter-spacing:.5px}.diary-calendar-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;position:relative;font-family:var(--font-family);padding:var(--space-1);transition:background .15s}.diary-calendar-cell:hover{background:var(--color-gray-50)}.diary-calendar-cell--empty{cursor:default}.diary-calendar-cell--empty:hover{background:none}.diary-calendar-day{font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1}.diary-calendar-cell--today .diary-calendar-day{font-weight:700;color:var(--color-accent)}.diary-calendar-cell--selected{background:var(--color-accent)}.diary-calendar-cell--selected .diary-calendar-day{color:var(--color-white);font-weight:600}.diary-calendar-cell--selected:hover{background:var(--color-accent)}.diary-calendar-cell--has-entry .diary-calendar-day{font-weight:600;color:var(--color-gray-700)}.diary-calendar-cell--selected.diary-calendar-cell--has-entry .diary-calendar-day{color:var(--color-white)}.diary-calendar-dot{width:5px;height:5px;border-radius:50%;background:var(--color-accent);margin-top:2px}.diary-calendar-cell--selected .diary-calendar-dot{background:var(--color-white)}@media(max-width:640px){.diary-calendar{padding:var(--space-3)}.diary-calendar-cell{padding:2px}.diary-calendar-day{font-size:var(--font-size-xs)}}.confirm-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000040;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.confirm-dialog{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:380px;width:90%;padding:var(--space-6);animation:confirm-appear .15s ease-out}@keyframes confirm-appear{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.confirm-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.confirm-message{font-size:var(--font-size-base);color:var(--color-gray-500);line-height:var(--line-height);margin-bottom:var(--space-6)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.confirm-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);cursor:pointer;border:1px solid var(--border-color);transition:background-color .15s,opacity .15s}.confirm-btn--cancel{background:var(--bg-surface);color:var(--color-gray-700)}@media(hover:hover){.confirm-btn--cancel:hover{background:var(--bg-hover)}}.confirm-btn--confirm{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.confirm-btn--confirm:hover{background:var(--color-accent-hover)}}.confirm-btn--danger{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}@media(hover:hover){.confirm-btn--danger:hover{opacity:.9}}@media(max-width:767px){.confirm-dialog{width:calc(100vw - var(--space-4));max-width:none;margin:var(--space-2)}.confirm-actions{flex-direction:column}.confirm-btn{width:100%;text-align:center}}.diary-entry{max-width:960px}.diary-entry-header{margin-bottom:var(--space-4)}.diary-entry-title-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);gap:var(--space-3)}.diary-entry-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin:0}.diary-entry-actions{display:flex;gap:var(--space-2)}.diary-entry-summary-bar{display:flex;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.diary-summary-stat{display:flex;flex-direction:column;gap:2px}.diary-summary-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.diary-summary-value{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.diary-summary-value--danger{color:var(--color-danger)}.diary-summary-value--warning{color:var(--color-warning)}.diary-entry-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-4);overflow-x:auto}.diary-tab{padding:var(--space-2) var(--space-4);border:none;background:none;font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;font-family:var(--font-family);transition:color .15s,border-color .15s}.diary-tab:hover{color:var(--color-gray-700)}.diary-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:500}.diary-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.diary-section-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4)}.diary-section-card--full{grid-column:1 / -1}.diary-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.5px}.diary-safety-grid{display:flex;gap:var(--space-6)}.diary-work-list{display:flex;flex-direction:column;gap:var(--space-2)}.diary-work-item{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm)}.diary-work-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.diary-work-description{font-size:var(--font-size-sm);color:var(--color-gray-700)}.diary-work-status{font-size:var(--font-size-xs);padding:1px var(--space-2);border-radius:var(--radius-sm);text-transform:capitalize}.diary-work-status--completed{background:#e8f5e9;color:#2e7d32}.diary-work-status--in-progress{background:#e3f2fd;color:#1565c0}.diary-work-status--started{background:#fff3e0;color:#e65100}.diary-table--inner{border:none}.diary-inspection-result{font-size:var(--font-size-xs);padding:1px var(--space-2);border-radius:var(--radius-sm);text-transform:capitalize}.diary-inspection-result--passed{background:#e8f5e9;color:#2e7d32}.diary-inspection-result--failed{background:#ffebee;color:#c62828}.diary-inspection-result--partial{background:#fff3e0;color:#e65100}.diary-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.diary-photo-item{display:flex;flex-direction:column;gap:var(--space-1)}.diary-photo-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.diary-photo-caption{color:var(--color-gray-500)}.diary-error{color:var(--color-danger);font-size:var(--font-size-sm)}.status--success{color:var(--color-success);font-weight:500}.status--danger{color:var(--color-danger);font-weight:500}@media(max-width:640px){.diary-section-grid{grid-template-columns:1fr}.diary-entry-title-row{flex-direction:column;align-items:flex-start}.diary-entry-summary-bar{gap:var(--space-3)}}.diary-form-page{max-width:800px}.diary-form-header{margin-bottom:var(--space-4)}.diary-form-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin:var(--space-3) 0 0 0}.diary-form-error{color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);background:#ffebee;border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.diary-form-section{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.diary-form-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.5px}.diary-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.diary-form-grid--3{grid-template-columns:repeat(3,1fr)}.diary-form-array-item{padding:var(--space-3);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);margin-bottom:var(--space-2);background:var(--color-gray-50)}.diary-form-textarea{resize:vertical;min-height:60px}.diary-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}.weather-widget-form{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.weather-widget-form .form-group--full{grid-column:1 / -1}.weather-widget-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.weather-stat{display:flex;flex-direction:column;gap:2px}.weather-stat-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.weather-stat-value{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);text-transform:capitalize}.workforce-table-wrapper{overflow-x:auto}.workforce-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.workforce-table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-200);font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.workforce-table td{padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-gray-100)}.workforce-totals-row{background:var(--color-gray-50)}.form-input--table{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);width:100%}@media(max-width:640px){.diary-form-grid,.diary-form-grid--3,.weather-widget-form{grid-template-columns:1fr}.weather-widget-grid{grid-template-columns:repeat(2,1fr)}}.diary-list{display:flex;flex-direction:column;gap:var(--space-4)}.diary-list-header{margin-bottom:0}.diary-list-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.diary-view-toggle{display:flex;gap:var(--space-1)}.diary-search{flex:1;min-width:180px;max-width:320px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--bg-surface);color:var(--color-gray-700);outline:none}.diary-search:focus{border-color:var(--color-accent)}.diary-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.diary-table-wrapper{overflow-x:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--bg-surface)}.diary-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.diary-table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-200);font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:var(--color-gray-50);-webkit-user-select:none;user-select:none}.diary-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-600);vertical-align:middle}.diary-table tr:last-child td{border-bottom:none}.diary-row{cursor:pointer;transition:background .15s}@media(hover:hover){.diary-row:hover{background:var(--bg-hover)}}.diary-date-cell{font-weight:500;color:var(--color-gray-700);white-space:nowrap}.diary-weather-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-gray-100);font-size:var(--font-size-xs);text-transform:capitalize;color:var(--color-gray-600)}.diary-safety-alert{color:var(--color-danger);font-weight:500;font-size:var(--font-size-xs)}.diary-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.diary-list-actions{flex-direction:column;align-items:stretch}.diary-search{max-width:none}.diary-view-toggle{align-self:flex-start}}.diary-tab{display:flex;flex-direction:column;gap:var(--space-4)}.diary-tab .diary-list{gap:var(--space-4)}.diary-tab .diary-view-toggle .btn-sm{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.diary-tab .diary-view-toggle .btn-secondary{background:var(--bg-surface);color:var(--color-gray-500)}@media(hover:hover){.diary-tab .diary-view-toggle .btn-secondary:hover{color:var(--color-gray-700);background:var(--bg-hover)}}.diary-tab .diary-view-toggle .btn-primary{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.diary-tab .diary-view-toggle .btn-primary:hover{background:var(--color-accent-hover)}}.diary-tab .diary-list-actions>.btn-primary{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-3);background:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);border-radius:var(--radius-md);cursor:pointer;transition:background .15s}@media(hover:hover){.diary-tab .diary-list-actions>.btn-primary:hover{background:var(--color-accent-hover)}}.diary-tab .btn-danger.btn-sm{font-family:var(--font-family);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;transition:background .15s}@media(hover:hover){.diary-tab .btn-danger.btn-sm:hover{background:var(--color-danger-bg)}}.diary-tab .diary-pagination .btn-secondary{font-family:var(--font-family);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--color-gray-700);cursor:pointer;transition:background .15s}@media(hover:hover){.diary-tab .diary-pagination .btn-secondary:hover:not(:disabled){background:var(--bg-hover)}}.diary-tab .diary-pagination .btn-secondary:disabled{opacity:.4;cursor:not-allowed}.diary-tab .text-muted{color:var(--color-gray-400)}.diary-tab .text-sm{font-size:var(--font-size-sm)}.health-radar{display:flex;justify-content:center;align-items:center}.radar-svg{width:100%;max-width:400px;height:auto}.radar-ring{fill:none;stroke:var(--color-gray-200);stroke-width:.5}.radar-axis{stroke:var(--color-gray-200);stroke-width:.5}.radar-data{stroke-width:2;fill-opacity:.2}.radar-fill-healthy{fill:var(--color-success);stroke:var(--color-success)}.radar-fill-warning{fill:var(--color-warning);stroke:var(--color-warning)}.radar-fill-critical{fill:var(--color-danger);stroke:var(--color-danger)}.radar-dot{fill:var(--color-accent);stroke:var(--bg-surface);stroke-width:1.5}.radar-label{font-size:var(--font-size-xs);fill:var(--color-gray-500);font-weight:500}.health-trend{width:100%}.health-trend-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm)}.trend-svg{width:100%;height:auto}.trend-zone-healthy{fill:var(--color-success-bg);opacity:.5}.trend-zone-warning{fill:var(--color-warning-bg);opacity:.5}.trend-zone-critical{fill:var(--color-danger-bg);opacity:.5}.trend-threshold{stroke:var(--color-gray-300);stroke-width:1;stroke-dasharray:4 3}.trend-line{fill:none;stroke:var(--color-accent);stroke-width:2;stroke-linejoin:round}.trend-dot{fill:var(--color-accent);stroke:var(--bg-surface);stroke-width:1.5;cursor:pointer}.trend-y-label,.trend-x-label{font-size:var(--font-size-xs);fill:var(--color-gray-400)}.dimension-detail{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.dimension-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;cursor:pointer;font-family:var(--font-family);text-align:left}.dimension-header:hover{background:var(--bg-hover)}.dimension-header-left{display:flex;align-items:center;gap:var(--space-3)}.dimension-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.dimension-badge{font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:capitalize}.dimension-badge.dim-status-healthy{color:var(--color-success-text);background:var(--color-success-bg)}.dimension-badge.dim-status-warning{color:var(--color-warning-text);background:var(--color-warning-bg)}.dimension-badge.dim-status-critical{color:var(--color-danger-text);background:var(--color-danger-bg)}.dimension-header-right{display:flex;align-items:center;gap:var(--space-3)}.dimension-score{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-700)}.dimension-expand{font-size:var(--font-size-md);color:var(--color-gray-400);width:20px;text-align:center}.dimension-bar-track{height:4px;background:var(--color-gray-100);margin:0 var(--space-4) var(--space-3);border-radius:2px;overflow:hidden}.dimension-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.dimension-bar-fill.dim-status-healthy{background:var(--color-success)}.dimension-bar-fill.dim-status-warning{background:var(--color-warning)}.dimension-bar-fill.dim-status-critical{background:var(--color-danger)}.dimension-factors{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color);background:var(--bg-stripe)}.dimension-factors-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.dimension-factors-list{list-style:none;margin:0;padding:0}.dimension-factor-item{font-size:var(--font-size-sm);color:var(--color-gray-600);padding:var(--space-1) 0}.dimension-factor-item:before{content:"·";margin-right:var(--space-2);color:var(--color-gray-400)}.ev-dashboard{width:100%}.ev-dashboard-loading{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm)}.ev-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.ev-metric-card{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface)}.ev-metric-card.ev-metric-healthy{border-left:3px solid var(--color-success)}.ev-metric-card.ev-metric-warning{border-left:3px solid var(--color-warning)}.ev-metric-card.ev-metric-critical{border-left:3px solid var(--color-danger)}.ev-metric-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}.ev-metric-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-700)}.ev-metric-subtext{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--space-1)}.ev-summary-row{display:flex;gap:var(--space-8);padding:var(--space-4);background:var(--bg-stripe);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.ev-summary-item{display:flex;flex-direction:column;gap:var(--space-1)}.ev-summary-label{font-size:var(--font-size-xs);color:var(--color-gray-500)}.ev-summary-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.ev-chart{width:100%}.ev-chart-svg{width:100%;height:auto}.ev-line{fill:none;stroke-width:2;stroke-linejoin:round}.ev-line-pv{stroke:var(--color-gray-400);stroke-dasharray:6 3}.ev-line-ev{stroke:var(--color-success)}.ev-line-ac{stroke:var(--color-danger)}.ev-chart-label{font-size:var(--font-size-xs);fill:var(--color-gray-400)}.ev-chart-legend{display:flex;gap:var(--space-6);margin-top:var(--space-3);justify-content:center}.ev-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-500)}.ev-legend-swatch{width:16px;height:3px;display:inline-block;border-radius:1px}.ev-legend-pv{background:var(--color-gray-400)}.ev-legend-ev{background:var(--color-success)}.ev-legend-ac{background:var(--color-danger)}@media(max-width:767px){.ev-metrics-grid{grid-template-columns:repeat(2,1fr)}.ev-summary-row{flex-direction:column;gap:var(--space-3)}}.health-dashboard-page{max-width:1200px;margin:0 auto}.health-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-6)}.health-breadcrumb .breadcrumb-link{color:var(--color-accent);cursor:pointer}.health-breadcrumb .breadcrumb-link:hover{text-decoration:underline}.health-breadcrumb .breadcrumb-sep{color:var(--color-gray-300)}.health-page-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-6)}.health-page-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-700);margin:0}.health-page-summary{font-size:var(--font-size-sm);color:var(--color-gray-400)}.health-loading{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm)}.health-error{padding:var(--space-4);background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.health-empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-gray-400);font-size:var(--font-size-base)}.project-health-view{display:flex;flex-direction:column;gap:var(--space-5);width:100%}.health-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5)}.health-actions{display:flex;align-items:center;gap:var(--space-3)}.composite-section{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-5);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.composite-score{text-align:center;min-width:120px;padding:var(--space-4);border-radius:var(--radius-md)}.composite-score.composite-healthy{background:var(--color-success-bg)}.composite-score.composite-warning{background:var(--color-warning-bg)}.composite-score.composite-critical{background:var(--color-danger-bg)}.composite-value{font-size:var(--font-size-xxl);font-weight:700;line-height:1;color:var(--color-gray-700)}.composite-label{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--space-2)}.composite-meta{display:flex;flex-direction:column;gap:var(--space-2)}.composite-date{font-size:var(--font-size-sm);color:var(--color-gray-400)}.health-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-gray-200)}.health-tab{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--font-family);margin-bottom:-1px;transition:color .15s}@media(hover:hover){.health-tab:hover{color:var(--color-gray-700)}}.health-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.health-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-4) 0}.health-overview{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.dimensions-grid{display:flex;flex-direction:column;gap:var(--space-3)}.dimensions-stack{display:flex;flex-direction:column;gap:var(--space-3);max-width:640px}.suggestion-pills{display:flex;flex-wrap:wrap;gap:6px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-gray-100);flex-shrink:0}.suggestion-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:var(--font-size-xs);font-family:var(--font-family);color:var(--color-gray-500);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:999px;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap;line-height:1.5}.suggestion-pill:hover,.suggestion-pill-selected{background:var(--color-accent-light);color:var(--color-gray-700);border-color:var(--color-accent)}.suggestion-pill-hint{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-400);background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:3px;padding:0 4px;line-height:1.6}.suggestion-pill-selected .suggestion-pill-hint{color:var(--color-accent);border-color:var(--color-accent)}@media(max-width:400px){.suggestion-pills{gap:4px;padding:var(--space-1) var(--space-2)}.suggestion-pill{font-size:10px;padding:2px 8px}}.agent-chat-panel{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);height:100%;min-height:400px;max-height:calc(100vh - 280px)}.agent-chat-panel-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}.agent-chat-panel-avatar{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-accent-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.agent-chat-panel-avatar svg{width:16px;height:16px;color:var(--color-accent)}.agent-chat-panel-label{display:flex;flex-direction:column;gap:0;min-width:0}.agent-chat-panel-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);line-height:1.3}.agent-chat-panel-status{font-size:var(--font-size-xs);color:var(--color-success);line-height:1.3}.agent-chat-panel-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);min-height:0}.agent-chat-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--color-gray-400);font-size:var(--font-size-sm);text-align:center;padding:var(--space-4);gap:var(--space-2)}.agent-chat-panel-empty-title{font-weight:500;color:var(--color-gray-500)}.agent-chat-panel-msg{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);max-width:90%;font-size:var(--font-size-sm);line-height:1.5}.agent-chat-panel-msg-user{align-self:flex-end;background:var(--color-accent-light);color:var(--color-gray-700)}.agent-chat-panel-msg-assistant{align-self:flex-start;background:var(--color-gray-50);color:var(--color-gray-700)}.agent-chat-panel-msg-content{white-space:pre-wrap;word-break:break-word}.agent-chat-panel-msg-time{font-size:10px;color:var(--color-gray-400);align-self:flex-end}.agent-chat-panel-typing{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);color:var(--color-gray-400)}.agent-chat-panel-typing-dots{display:flex;gap:3px}.agent-chat-panel-typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--color-gray-300);animation:agent-typing-bounce 1.4s infinite ease-in-out both}.agent-chat-panel-typing-dots span:nth-child(1){animation-delay:0s}.agent-chat-panel-typing-dots span:nth-child(2){animation-delay:.16s}.agent-chat-panel-typing-dots span:nth-child(3){animation-delay:.32s}@keyframes agent-typing-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.agent-chat-panel-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);color:var(--color-danger-text);font-size:var(--font-size-xs);border-top:1px solid var(--color-danger-border);flex-shrink:0}.agent-chat-panel-error button{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-size-sm);padding:0 var(--space-1);line-height:1}.agent-chat-panel-input{display:flex;gap:var(--space-2);align-items:flex-end;padding:var(--space-3);border-top:1px solid var(--color-gray-100);flex-shrink:0}.agent-chat-panel-input textarea{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);resize:none;outline:none;min-height:36px;max-height:80px;line-height:1.4}.agent-chat-panel-input textarea:focus{border-color:var(--color-accent)}.agent-chat-panel-input button{flex-shrink:0}.agent-chat-fab{display:none}@media(max-width:900px){.agent-chat-panel{display:none}.agent-chat-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:var(--space-5);right:var(--space-5);width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-white);border:none;cursor:pointer;z-index:100;font-size:var(--font-size-sm);font-weight:600;transition:background .15s}.agent-chat-fab:hover{background:var(--color-accent-hover)}.agent-chat-sheet-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:200}.agent-chat-sheet{position:fixed;bottom:0;left:0;right:0;max-height:80vh;background:var(--bg-surface);border-top:1px solid var(--color-gray-200);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:201;display:flex;flex-direction:column}.agent-chat-sheet .agent-chat-panel{display:flex;border:none;border-radius:0;max-height:none;min-height:0;height:100%}.agent-chat-sheet .agent-chat-panel-messages{max-height:50vh}.agent-chat-sheet-close{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;padding:var(--space-1) var(--space-2)}.agent-chat-sheet-close:hover{color:var(--color-gray-700)}}.risk-matrix{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.risk-matrix-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.risk-matrix-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0}.risk-matrix-legend{display:flex;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-gray-400)}.legend-item{display:flex;align-items:center;gap:var(--space-1)}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.legend-swatch--low{background-color:var(--color-success)}.legend-swatch--medium{background-color:var(--color-warning)}.legend-swatch--high{background-color:var(--color-danger)}.risk-matrix-grid-wrapper{display:flex;align-items:center;gap:var(--space-2)}.risk-matrix-y-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.risk-matrix-grid-container{flex:1}.risk-matrix-grid{display:grid;grid-template-columns:80px repeat(5,1fr);gap:2px}.risk-matrix-col-header,.risk-matrix-row-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-400)}.matrix-header-value{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-gray-500)}.matrix-header-label{font-size:10px;text-align:center}.risk-matrix-row-header{text-align:right}.risk-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border-radius:var(--radius-sm);position:relative;transition:opacity .15s}.risk-cell--low{background-color:var(--color-success-bg);border:1px solid var(--color-success-border)}.risk-cell--medium{background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.risk-cell--high{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.risk-cell--has-risks{cursor:pointer}@media(hover:hover){.risk-cell--has-risks:hover{opacity:.8}}.risk-cell-score{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-500)}.risk-cell-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-gray-700);background:var(--bg-surface);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.risk-matrix-x-label{text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-1)}.risk-matrix-summary{display:flex;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.summary-stat{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-700)}.summary-value--high{color:var(--color-danger)}.summary-value--medium{color:var(--color-warning)}.summary-value--low{color:var(--color-success)}.risk-form{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.risk-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-500)}.form-input{padding:8px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-base);color:var(--color-gray-700);background:var(--bg-surface);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--color-accent)}.form-textarea{resize:vertical;font-family:inherit}.risk-score-display{display:flex;align-items:center;justify-content:center;height:38px;border-radius:var(--radius-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.risk-score--low{background-color:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.risk-score--medium{background-color:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.risk-score--high{background-color:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.risk-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}@media(max-width:600px){.risk-form-grid{grid-template-columns:1fr}}.risk-register{max-width:1200px;padding:var(--space-4) 0}.risk-register-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.risk-register-title-row{display:flex;align-items:center;gap:var(--space-2)}.risk-register-title{font-size:var(--font-size-xxl);font-weight:700;color:var(--color-gray-700);letter-spacing:-.5px;margin:0}.risk-register-count{font-size:var(--font-size-sm);color:var(--color-gray-400)}.risk-register-actions{display:flex;align-items:center;gap:var(--space-2)}.risk-view-toggle{display:flex;gap:2px}.risk-form-wrapper{margin-bottom:var(--space-4)}.risk-form-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0 0 var(--space-2) 0}.risk-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.risk-search{flex:1;min-width:200px}.risk-table-wrapper{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow-x:auto}.risk-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.risk-table th{text-align:left;padding:var(--space-2) var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px;border-bottom:1px solid var(--color-gray-100);white-space:nowrap}.risk-table td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-600);vertical-align:top}.risk-table tbody tr:last-child td{border-bottom:none}@media(hover:hover){.risk-table tbody tr:hover{background:var(--color-gray-50)}}.risk-table-empty{text-align:center;padding:var(--space-6) var(--space-2);color:var(--color-gray-300)}.risk-title-cell{display:flex;flex-direction:column;gap:2px;min-width:200px}.risk-title-text{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.risk-desc-text{font-size:var(--font-size-xs);color:var(--color-gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.risk-num-cell{text-align:center;white-space:nowrap}.risk-category-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize;background:var(--color-gray-50);color:var(--color-gray-500);border:1px solid var(--color-gray-100)}.risk-score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs)}.risk-severity-indicator{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.severity--low{background-color:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.severity--medium{background-color:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.severity--high{background-color:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.risk-status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.risk-status--identified{background:var(--color-info-bg, var(--color-gray-50));color:var(--color-info, var(--color-gray-500))}.risk-status--analyzing{background:var(--color-warning-bg);color:var(--color-warning-text)}.risk-status--mitigating{background:var(--color-accent-light);color:var(--color-accent)}.risk-status--resolved{background:var(--color-success-bg);color:var(--color-success-text)}.risk-status--accepted{background:var(--color-gray-50);color:var(--color-gray-500)}.risk-actions-cell{white-space:nowrap;display:flex;gap:var(--space-1)}.risk-loading,.risk-error{text-align:center;padding:var(--space-8);color:var(--color-gray-400)}.risk-error p{margin-bottom:var(--space-2)}.btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--font-size-sm);padding:0}@media(hover:hover){.btn-link:hover{text-decoration:underline}}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}@media(hover:hover){.btn-danger:hover{background:var(--color-danger);color:#fff}}.stakeholder-grid{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.stakeholder-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.stakeholder-grid-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0}.stakeholder-grid-legend{display:flex;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-gray-400);flex-wrap:wrap}.stakeholder-grid .legend-item{display:flex;align-items:center;gap:var(--space-1)}.stakeholder-grid .legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.legend-swatch--manage-closely{background-color:var(--color-danger)}.legend-swatch--keep-satisfied{background-color:var(--color-warning)}.legend-swatch--keep-informed{background-color:var(--color-accent)}.legend-swatch--monitor{background-color:var(--color-success)}.stakeholder-grid-wrapper{display:flex;align-items:center;gap:var(--space-2)}.stakeholder-grid-y-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.stakeholder-grid-container{flex:1}.stakeholder-grid-cells{display:grid;grid-template-columns:80px repeat(5,1fr);gap:2px}.stakeholder-grid-col-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-400)}.stakeholder-grid-row{display:contents}.stakeholder-grid-row-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-400);text-align:right}.grid-header-value{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-gray-500)}.grid-header-label{font-size:10px;text-align:center}.grid-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border-radius:var(--radius-sm);position:relative;transition:opacity .15s}.grid-cell--manage-closely{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.grid-cell--keep-satisfied{background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.grid-cell--keep-informed{background-color:var(--color-accent-light, var(--color-info-bg, #e8f4fd));border:1px solid var(--color-accent-border, var(--color-info-border, #b3d9f2))}.grid-cell--monitor{background-color:var(--color-success-bg);border:1px solid var(--color-success-border)}.grid-cell--has-items{cursor:pointer}@media(hover:hover){.grid-cell--has-items:hover{opacity:.8}}.grid-cell-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-gray-700);background:var(--bg-surface);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.stakeholder-grid-x-label{text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-1)}.stakeholder-grid-summary{display:flex;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100);flex-wrap:wrap}.stakeholder-grid .summary-stat{display:flex;flex-direction:column;gap:2px}.stakeholder-grid .summary-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.stakeholder-grid .summary-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-700)}.summary-value--manage-closely{color:var(--color-danger)}.summary-value--keep-satisfied{color:var(--color-warning)}.summary-value--keep-informed{color:var(--color-accent)}.summary-value--monitor{color:var(--color-success)}.stakeholder-form{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.stakeholder-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.engagement-display{display:flex;align-items:center;justify-content:center;height:38px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.engagement--manage-closely{background-color:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.engagement--keep-satisfied{background-color:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.engagement--keep-informed{background-color:var(--color-accent-light, var(--color-info-bg, #e8f4fd));color:var(--color-accent, var(--color-info, #1a73e8));border:1px solid var(--color-accent-border, var(--color-info-border, #b3d9f2))}.engagement--monitor{background-color:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.stakeholder-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}@media(max-width:600px){.stakeholder-form-grid{grid-template-columns:1fr}}.stakeholder-register{max-width:1200px;padding:var(--space-4) 0}.stakeholder-register-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.stakeholder-register-title-row{display:flex;align-items:center;gap:var(--space-2)}.stakeholder-register-title{font-size:var(--font-size-xxl);font-weight:700;color:var(--color-gray-700);letter-spacing:-.5px;margin:0}.stakeholder-register-count{font-size:var(--font-size-sm);color:var(--color-gray-400)}.stakeholder-register-actions{display:flex;align-items:center;gap:var(--space-2)}.stakeholder-view-toggle{display:flex;gap:2px}.stakeholder-form-wrapper{margin-bottom:var(--space-4)}.stakeholder-form-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0 0 var(--space-2) 0}.stakeholder-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.stakeholder-search{flex:1;min-width:200px}.stakeholder-table-wrapper{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow-x:auto}.stakeholder-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.stakeholder-table th{text-align:left;padding:var(--space-2) var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px;border-bottom:1px solid var(--color-gray-100);white-space:nowrap}.stakeholder-table td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-600);vertical-align:top}.stakeholder-table tbody tr:last-child td{border-bottom:none}@media(hover:hover){.stakeholder-table tbody tr:hover{background:var(--color-gray-50)}}.stakeholder-table-empty{text-align:center;padding:var(--space-6) var(--space-2);color:var(--color-gray-300)}.stakeholder-contact-cell{display:flex;flex-direction:column;gap:2px;min-width:180px}.stakeholder-contact-name{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.stakeholder-contact-company{font-size:var(--font-size-xs);color:var(--color-gray-400)}.stakeholder-num-cell{text-align:center;white-space:nowrap}.stakeholder-role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize;background:var(--color-gray-50);color:var(--color-gray-500);border:1px solid var(--color-gray-100)}.stakeholder-engagement-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.engagement-badge--manage_closely{background-color:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.engagement-badge--keep_satisfied{background-color:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.engagement-badge--keep_informed{background-color:var(--color-accent-light, var(--color-info-bg, #e8f4fd));color:var(--color-accent, var(--color-info, #1a73e8));border:1px solid var(--color-accent-border, var(--color-info-border, #b3d9f2))}.engagement-badge--monitor{background-color:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.stakeholder-actions-cell{white-space:nowrap;display:flex;gap:var(--space-1)}.stakeholder-loading,.stakeholder-error{text-align:center;padding:var(--space-8);color:var(--color-gray-400)}.stakeholder-error p{margin-bottom:var(--space-2)}.co-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.co-line-items{margin-bottom:var(--space-4)}.co-line-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.co-line-items-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0}.co-line-items-table-wrapper{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow-x:auto}.co-line-items-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.co-line-items-table th{text-align:left;padding:var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px;border-bottom:1px solid var(--color-gray-100);white-space:nowrap}.co-line-items-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-gray-50);vertical-align:middle}.co-line-items-table tfoot td{border-top:2px solid var(--color-gray-200);border-bottom:none;padding:var(--space-2)}.co-input-narrow{width:100px}.co-line-total{white-space:nowrap;font-weight:var(--font-weight-semibold);color:var(--color-gray-600)}.co-total-label{text-align:right;font-weight:var(--font-weight-bold);color:var(--color-gray-700)}.co-total-value{font-weight:var(--font-weight-bold);color:var(--color-gray-700);white-space:nowrap}.co-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.approval-actions{display:flex;gap:var(--space-2)}.approval-reject-form{display:flex;flex-direction:column;gap:var(--space-2);min-width:300px}.approval-reject-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.co-detail{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.co-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.co-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:1px}.co-detail-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-700);margin:var(--space-1) 0 0 0}.co-detail-section{margin-bottom:var(--space-4)}.co-detail-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--space-1) 0}.co-detail-text{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:1.6;margin:0}.co-detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-sm)}.co-meta-item{display:flex;flex-direction:column;gap:2px}.co-meta-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.co-meta-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.co-cost{color:var(--color-accent)}.co-detail-table-wrapper{border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);overflow-x:auto}.co-detail-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.co-detail-table th{text-align:left;padding:var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px;border-bottom:1px solid var(--color-gray-100)}.co-detail-table td{padding:var(--space-2);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-600)}.co-detail-table tfoot td{border-top:2px solid var(--color-gray-200);border-bottom:none}.co-num-cell{text-align:right;white-space:nowrap}.co-category-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-gray-50);color:var(--color-gray-500);border:1px solid var(--color-gray-100)}.co-rejection{background:var(--color-danger-bg);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-danger-border)}.co-rejection .co-detail-text{color:var(--color-danger-text)}.co-detail-actions{display:flex;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.co-status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px}.co-status--draft{background:var(--color-gray-50);color:var(--color-gray-500);border:1px solid var(--color-gray-200)}.co-status--submitted{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.co-status--approved{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.co-status--rejected{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.co-register{max-width:1200px;padding:var(--space-4) 0}.co-register-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.co-register-title-row{display:flex;align-items:center;gap:var(--space-2)}.co-register-title{font-size:var(--font-size-xxl);font-weight:700;color:var(--color-gray-700);letter-spacing:-.5px;margin:0}.co-register-count{font-size:var(--font-size-sm);color:var(--color-gray-400)}.co-register-actions{display:flex;align-items:center;gap:var(--space-2)}.co-form-wrapper{margin-bottom:var(--space-4)}.co-form-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0 0 var(--space-2) 0}.co-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.co-search{flex:1;min-width:200px}.co-table-wrapper{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow-x:auto}.co-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.co-table th{text-align:left;padding:var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px;border-bottom:1px solid var(--color-gray-100);white-space:nowrap}.co-table td{padding:var(--space-2);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-600);vertical-align:top}.co-table tbody tr:last-child td{border-bottom:none}.co-table-row{cursor:pointer}@media(hover:hover){.co-table-row:hover{background:var(--color-gray-50)}}.co-table-empty{text-align:center;padding:var(--space-6) var(--space-2);color:var(--color-gray-300)}.co-number-cell{font-weight:var(--font-weight-bold);color:var(--color-gray-500);white-space:nowrap;font-size:var(--font-size-xs);letter-spacing:.5px}.co-title-cell{display:flex;flex-direction:column;gap:2px;min-width:200px}.co-title-text{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.co-desc-text{font-size:var(--font-size-xs);color:var(--color-gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.co-cost-cell{white-space:nowrap;font-weight:var(--font-weight-semibold)}.co-num-cell{text-align:center;white-space:nowrap}.co-reason-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-gray-50);color:var(--color-gray-500);border:1px solid var(--color-gray-100)}.co-status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.co-status--draft{background:var(--color-gray-50);color:var(--color-gray-500)}.co-status--submitted{background:var(--color-warning-bg);color:var(--color-warning-text)}.co-status--approved{background:var(--color-success-bg);color:var(--color-success-text)}.co-status--rejected{background:var(--color-danger-bg);color:var(--color-danger-text)}.co-actions-cell{white-space:nowrap;display:flex;gap:var(--space-1)}.co-loading,.co-error{text-align:center;padding:var(--space-8);color:var(--color-gray-400)}.co-error p{margin-bottom:var(--space-2)}.ripple-settings-page{padding:0}.ripple-settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.ripple-settings-header h2{margin:0 0 .25rem}.ripple-settings-subtitle{color:var(--text-secondary, #666);font-size:.875rem;margin:0}.ripple-settings-loading,.ripple-settings-error{text-align:center;padding:3rem 1rem;color:var(--text-secondary, #666)}.ripple-settings-error{color:var(--danger, #dc3545)}.ripple-settings-section{margin-bottom:2rem}.ripple-settings-section-title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.ripple-settings-section-desc{color:var(--text-secondary, #666);font-size:.8125rem;margin:0 0 1rem}.ripple-settings-grid{display:flex;flex-direction:column;gap:.75rem}.path-config-card{border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:1rem;background:var(--surface, #fff)}.path-config-card.disabled{opacity:.6}.path-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.path-config-title-row{display:flex;align-items:center;gap:.5rem}.path-config-title{margin:0;font-size:.9375rem;font-weight:500}.path-config-override-badge{font-size:.6875rem;padding:.125rem .5rem;border-radius:9999px;background:var(--color-accent, #3b82f6);color:#fff;font-weight:500}.path-config-description{color:var(--text-secondary, #666);font-size:.8125rem;margin:0 0 .75rem}.path-config-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.path-config-field{display:flex;flex-direction:column;gap:.25rem}.path-config-label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.05em}.path-config-select{padding:.375rem .75rem;border:1px solid var(--border, #ddd);border-radius:4px;font-size:.875rem;background:var(--surface, #fff);max-width:360px}.path-config-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border, #e5e7eb);display:flex;justify-content:flex-end}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;border-radius:22px;transition:.2s}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-accent, #3b82f6)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.path-config-threshold{display:flex;flex-direction:column;gap:.25rem}.threshold-pairs{display:flex;flex-wrap:wrap;gap:.5rem}.threshold-pair{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;padding:.25rem .5rem;background:var(--bg-subtle, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:4px}.threshold-key{font-weight:500}.threshold-value{font-family:monospace;color:var(--text-secondary, #666)}.instructions-editor{display:flex;flex-direction:column;gap:.375rem}.instructions-editor-header{display:flex;justify-content:space-between;align-items:center}.instructions-label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.05em}.instructions-mode-toggle{display:flex;gap:.25rem}.instructions-mode-toggle .btn-active{background:var(--bg-subtle, #f3f4f6);font-weight:500}.instructions-textarea{width:100%;padding:.5rem;border:1px solid var(--border, #ddd);border-radius:4px;font-family:monospace;font-size:.8125rem;resize:vertical;min-height:80px;box-sizing:border-box}.instructions-preview{padding:.5rem;border:1px solid var(--border, #e5e7eb);border-radius:4px;background:var(--bg-subtle, #f9fafb);font-size:.8125rem;min-height:80px}.instructions-preview p{margin:0 0 .25rem}.instructions-empty{color:var(--text-secondary, #999);font-style:italic}@media(max-width:768px){.ripple-settings-header{flex-direction:column;gap:.75rem}.path-config-select{max-width:100%}}.automations-tab{display:flex;flex-direction:column;gap:2rem}.automations-divider{border-top:1px solid var(--color-border, #e0e0e0);margin:.5rem 0}.automations-notifications{padding:0 .25rem}.automations-section-title{font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.automations-section-desc{color:var(--color-text-secondary, #666);font-size:.875rem;margin:0 0 1.25rem}.automations-group{margin-bottom:1.5rem}.automations-group-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #666);margin:0 0 .75rem}.automations-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--color-border-light, #f0f0f0)}.automations-toggle-row:last-child{border-bottom:none}.automations-toggle-label{font-size:.875rem;font-weight:500}.automations-toggle-desc{font-size:.75rem;color:var(--color-text-secondary, #666);margin-top:.125rem}.automations-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.automations-toggle input{opacity:0;width:0;height:0}.automations-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border, #ccc);border-radius:20px;transition:background-color .2s}.automations-toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .2s}.automations-toggle input:checked+.automations-toggle-slider{background-color:var(--color-accent, #007aff)}.automations-toggle input:checked+.automations-toggle-slider:before{transform:translate(16px)}.automations-save-btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:500;background:var(--color-accent, #007aff);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.automations-save-btn:hover{opacity:.9}.automations-save-btn:disabled{opacity:.5;cursor:not-allowed}.automations-success{background:var(--color-success-bg, #e8f5e9);color:var(--color-success-text, #2e7d32);padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;margin-bottom:1rem}.automations-error{background:var(--color-danger-bg, #fce4ec);color:var(--color-danger-text, #c62828);padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;margin-bottom:1rem}.automations-loading{color:var(--color-text-secondary, #666);font-size:.875rem;padding:1rem 0}.finance-automations-tab{max-width:720px}.finance-automations-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800);margin:0 0 var(--space-2) 0}.finance-automations-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:0 0 var(--space-5) 0}.finance-automations-field{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0 var(--space-2) var(--space-4);border-left:2px solid var(--color-gray-100);margin:var(--space-2) 0}.finance-automations-label{font-size:var(--font-size-sm);color:var(--color-gray-600);white-space:nowrap}.finance-automations-select{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-700);cursor:pointer}.finance-automations-select:focus{outline:none;border-color:var(--color-accent)}.skeleton{background:var(--color-gray-100);border-radius:var(--radius-sm);animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton-table{display:flex;flex-direction:column;gap:var(--space-1)}.skeleton-table-header,.skeleton-table-row{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.skeleton-table-header{border-bottom:1px solid var(--border-color)}.skeleton-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md)}.skeleton-detail{display:flex;flex-direction:column;gap:var(--space-5)}.skeleton-detail-body{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-detail-meta{display:flex;gap:var(--space-4)}.skeleton-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:500px}.skeleton-form-field{display:flex;flex-direction:column;gap:var(--space-1)}.skeleton-text{display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:640px){.skeleton-cards{grid-template-columns:1fr}.skeleton-table-header,.skeleton-table-row{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.skeleton-detail-meta{flex-direction:column;gap:var(--space-2)}}.project-detail{max-width:1200px}.detail-loading{text-align:center;padding:var(--space-12);color:var(--color-gray-400);font-size:var(--font-size-base)}.detail-error{text-align:center;padding:var(--space-12) var(--space-5);background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.detail-error h2{font-size:var(--font-size-lg);color:var(--color-gray-600);margin-bottom:var(--space-2)}.detail-error p{color:var(--color-gray-400);margin-bottom:var(--space-5)}.detail-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-gray-200);margin-bottom:var(--space-5);overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;flex-shrink:0;transition:color .15s,border-color .15s}@media(hover:hover){.detail-tab:hover{color:var(--color-gray-700)}}.detail-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.project-detail-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-5)}.detail-tab-content{min-height:300px}.project-detail-sidebar{min-width:0}@media(max-width:900px){.project-detail-layout{grid-template-columns:1fr}}@media(max-width:767px){.detail-tabs{gap:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);flex-shrink:0}}@media(max-width:640px){.detail-tab{padding:var(--space-2)}}.read-only-banner{display:flex;align-items:center;padding:var(--space-3) var(--space-5);background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border, var(--color-warning-text));border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--font-size-sm);font-weight:500}.wizard-step-indicator{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:var(--space-8)}.wizard-step-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;max-width:120px}.wizard-step-line{position:absolute;top:14px;right:50%;width:100%;height:2px;background-color:var(--color-gray-200);z-index:0}.wizard-step-line.active{background-color:var(--color-accent)}.wizard-step-circle{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-gray-300);background-color:var(--bg-surface);color:var(--color-gray-400);font-size:var(--font-size-sm);font-weight:600;display:flex;align-items:center;justify-content:center;cursor:default;position:relative;z-index:1;transition:all .2s ease;padding:0}.wizard-step-circle.current{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.wizard-step-circle.completed{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-white);cursor:pointer}.wizard-step-circle:disabled{cursor:default}@media(hover:hover){.wizard-step-circle.completed:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}}.wizard-step-label{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-400);text-align:center;white-space:nowrap}.wizard-step-label.current{color:var(--color-accent);font-weight:600}.wizard-step-label.completed{color:var(--color-gray-600)}@media(hover:none){.wizard-step-circle{min-width:44px;min-height:44px}}@media(max-width:960px){.wizard-step-indicator{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2);margin-bottom:var(--space-4)}.wizard-step-item{min-width:60px;flex:0 0 auto}.wizard-step-label{font-size:10px;white-space:nowrap}}.wizard-navigation{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) 0;margin-top:var(--space-6);border-top:1px solid var(--color-gray-200)}.wizard-nav-left,.wizard-nav-center,.wizard-nav-right{flex:1;display:flex}.wizard-nav-left{justify-content:flex-start}.wizard-nav-center{justify-content:center}.wizard-nav-right{justify-content:flex-end}@media(max-width:960px){.wizard-navigation{flex-wrap:wrap;gap:var(--space-3)}.wizard-nav-center{flex:0 0 auto}.wizard-nav-center{order:3;width:100%;justify-content:center}}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--space-3);box-shadow:var(--shadow-lg);cursor:pointer;z-index:1000;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background-color:var(--color-success)}.toast-error{background-color:var(--color-danger)}.toast-info{background-color:var(--color-info)}.toast-message{flex:1}.toast-close{background:none;border:none;color:var(--color-white);font-size:var(--font-size-lg);cursor:pointer;padding:0;line-height:1;opacity:.8}@media(hover:hover){.toast-close:hover{opacity:1}}@media(hover:none){.toast-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}}.pac-container{z-index:10000;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);font-family:var(--font-family)}.wizard-duration{font-size:var(--font-size-md);font-weight:600;color:var(--color-accent);padding-top:var(--space-2)}.budget-progress{margin-top:var(--space-4);padding:var(--space-3) 0}.budget-progress-header{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-2)}.budget-progress-bar{height:8px;background-color:var(--color-gray-100);border-radius:4px;overflow:hidden}.budget-progress-fill{height:100%;background-color:var(--color-accent);border-radius:4px;transition:width .3s ease}.budget-progress-fill.over{background-color:var(--color-danger)}.agent-config-grid{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.agent-config-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s}@media(hover:hover){.agent-config-item:hover{background-color:var(--color-gray-50)}}.agent-config-item input[type=checkbox]{margin-top:2px;flex-shrink:0}.agent-config-text{display:flex;flex-direction:column;gap:2px}.agent-config-label{font-size:var(--font-size-base);font-weight:500;color:var(--color-gray-700)}.agent-config-desc{font-size:var(--font-size-sm);color:var(--color-gray-500)}.review-section{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.review-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.review-section-header h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.review-grid{display:grid;grid-template-columns:140px 1fr;gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.review-grid dt{color:var(--color-gray-500);font-weight:500}.review-grid dd{color:var(--color-gray-700);word-break:break-word}.review-table{width:100%;font-size:var(--font-size-sm);border-collapse:collapse}.review-table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-500);font-weight:500;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.review-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.wizard-submit-error{background-color:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5)}.wizard-submit-error-message{color:var(--color-danger);font-weight:500;margin-bottom:var(--space-2)}.wizard-submit-error-list{list-style:disc;padding-left:var(--space-5);color:var(--color-danger);font-size:var(--font-size-sm)}@media(max-width:960px){.review-grid{grid-template-columns:1fr}.review-section{padding:var(--space-3) var(--space-4)}.review-table{font-size:var(--font-size-xs)}.review-table th,.review-table td{padding:var(--space-2)}}.wizard-container{width:100%;max-width:800px;margin:0 auto}.wizard-card-wrapper{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-8)}.wizard-draft-prompt{background-color:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.wizard-draft-prompt p{font-size:var(--font-size-base);color:var(--color-gray-700)}.wizard-draft-actions{display:flex;gap:var(--space-2);flex-shrink:0}.wizard-success{text-align:center;padding:var(--space-12) var(--space-8)}.wizard-success-icon{width:64px;height:64px;border-radius:50%;background-color:var(--color-success);color:var(--color-white);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);font-size:32px}.wizard-success h2{font-size:var(--font-size-xl);color:var(--color-gray-700);margin-bottom:var(--space-2)}.wizard-success p{font-size:var(--font-size-base);color:var(--color-gray-500);margin-bottom:var(--space-6)}.wizard-step{min-height:200px}.wizard-step-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-1)}.wizard-step-subtitle{font-size:var(--font-size-base);color:var(--color-gray-500);margin-bottom:var(--space-6)}.wizard-field-group{margin-bottom:var(--space-5);flex:1;min-width:0}.wizard-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);margin-bottom:var(--space-1)}.wizard-required{color:var(--color-danger)}.wizard-input,.wizard-select,.wizard-textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-700);background-color:var(--bg-surface);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.wizard-input:focus,.wizard-select:focus,.wizard-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.wizard-input-error{border-color:var(--color-danger)}.wizard-input-error:focus{box-shadow:0 0 0 3px #dc354526}.wizard-textarea{resize:vertical;min-height:80px}.wizard-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:var(--space-8)}.wizard-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--space-1)}.wizard-helper{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-top:var(--space-1)}.wizard-char-count{text-align:right}.wizard-row{display:flex;gap:var(--space-4);align-items:flex-start}.wizard-col-2{flex:2}.wizard-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-gray-100)}.wizard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.wizard-section-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.wizard-section-actions{display:flex;gap:var(--space-2)}.wizard-list-item{padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-100)}.wizard-list-item:last-child{border-bottom:none}.wizard-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.wizard-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.wizard-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.5px}.wizard-empty{font-size:var(--font-size-sm);color:var(--color-gray-400);text-align:center;padding:var(--space-5) 0}.wizard-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap}.wizard-btn-primary{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.wizard-btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}}.wizard-btn-secondary{background-color:var(--bg-surface);color:var(--color-accent);border-color:var(--color-accent)}@media(hover:hover){.wizard-btn-secondary:hover:not(:disabled){background-color:var(--color-accent-light)}}.wizard-btn-ghost{background:none;color:var(--color-accent);border:none;padding:var(--space-2) var(--space-3)}@media(hover:hover){.wizard-btn-ghost:hover:not(:disabled){background-color:var(--color-accent-light)}}.wizard-btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.wizard-btn-icon{width:28px;height:28px;padding:0;font-size:var(--font-size-lg);border-radius:var(--radius-sm);flex-shrink:0}.wizard-btn-danger-ghost{background:none;color:var(--color-gray-400);border:none}@media(hover:hover){.wizard-btn-danger-ghost:hover:not(:disabled){color:var(--color-danger);background-color:var(--color-danger-bg)}}.wizard-checkbox-label,.wizard-radio-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--color-gray-700);cursor:pointer}.wizard-radio-group{display:flex;gap:var(--space-5)}@media(hover:none){.wizard-btn-icon{min-width:44px;min-height:44px}}@media(max-width:960px){.wizard-container{max-width:100%;overflow-x:hidden}.wizard-card-wrapper{padding:var(--space-4);border-radius:var(--radius-md)}.wizard-row{flex-direction:column;gap:var(--space-3)}.wizard-draft-prompt{flex-direction:column;align-items:flex-start;padding:var(--space-3)}.wizard-radio-group{flex-direction:column;gap:var(--space-2)}.wizard-success{padding:var(--space-6) var(--space-4)}}.account-autocomplete{position:relative;width:100%}.account-autocomplete-input{width:100%;border:1px solid var(--color-gray-200);padding:4px 8px;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface);border-radius:var(--radius-sm);transition:border-color .15s}.account-autocomplete-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.account-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:200}.account-autocomplete-item{display:flex;gap:var(--space-2);padding:6px 8px;cursor:pointer;font-size:var(--font-size-sm);transition:background-color .1s}.account-autocomplete-item.highlighted{background-color:var(--color-accent-light)}.account-autocomplete-code{font-weight:600;color:var(--color-accent);min-width:48px}.account-autocomplete-name{color:var(--color-gray-600)}.split-editor-modal{max-width:720px}.split-editor-body{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.split-editor-fields{display:flex;gap:var(--space-3)}.split-editor-fields .form-group{flex:1}.split-editor-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.split-editor-table th{text-align:left;padding:var(--space-2) var(--space-2);font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-gray-200)}.split-editor-table td{padding:var(--space-1) var(--space-2);vertical-align:top}.split-editor-table .amount-col{width:110px;text-align:right}.split-editor-table .memo-col{width:140px}.split-editor-table .action-col{width:32px;text-align:center}.split-amount-input,.split-memo-input{width:100%;border:1px solid var(--color-gray-200);padding:4px 6px;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-gray-700);border-radius:var(--radius-sm);transition:border-color .15s}.split-amount-input{text-align:right;font-variant-numeric:tabular-nums}.split-amount-input:focus,.split-memo-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.split-remove-btn{border:none;background:none;font-size:16px;color:var(--color-gray-400);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);line-height:1}@media(hover:hover){.split-remove-btn:hover{color:var(--color-danger);background:var(--color-danger-bg)}}@media(hover:none){.split-remove-btn{min-width:44px;min-height:44px}}.split-totals-row td{padding-top:var(--space-2);border-top:2px solid var(--color-gray-200)}.split-total{font-weight:600;font-variant-numeric:tabular-nums}.split-balanced{color:var(--color-success);font-weight:500}.split-unbalanced{color:var(--color-danger);font-weight:500}@media(max-width:767px){.split-editor-modal{width:calc(100vw - var(--space-4));max-width:none;margin:var(--space-2)}.split-editor-fields{flex-direction:column}.split-editor-body{padding:var(--space-3);overflow-x:auto;-webkit-overflow-scrolling:touch}.split-editor-table{min-width:500px}}.transaction-register{padding:var(--space-6);max-width:1200px}.register-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-4)}.register-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500);display:flex;align-items:center;gap:var(--space-2)}.register-breadcrumb-sep{color:var(--color-gray-400)}.register-balance{font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-gray-700)}.register-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.register-toolbar-left{display:flex;gap:var(--space-2)}.register-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.register-search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);width:180px;transition:border-color .15s}.register-search:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.register-date-filter{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);transition:border-color .15s}.register-date-filter:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.register-date-sep{font-size:var(--font-size-sm);color:var(--color-gray-400)}.register-table-wrapper{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.register-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.register-table th{background-color:var(--color-gray-50);padding:var(--space-2) var(--space-2);text-align:left;font-weight:600;font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-gray-200);white-space:nowrap}.register-table td{padding:5px var(--space-2);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.col-check{width:32px;text-align:center}.col-date{width:100px;white-space:nowrap}.col-num{width:60px}.col-desc{min-width:180px}.col-account{min-width:160px;white-space:nowrap}.col-amount{width:100px;text-align:right;font-variant-numeric:tabular-nums}.col-balance{width:110px;text-align:right;font-variant-numeric:tabular-nums}.col-reconcile{width:32px;text-align:center;font-weight:600;font-size:var(--font-size-xs);color:var(--color-gray-400)}.register-table td.amount{text-align:right;font-variant-numeric:tabular-nums}.register-row{cursor:pointer;transition:background-color .1s}@media(hover:hover){.register-row:hover{background-color:var(--color-gray-50)}}.register-row.selected{background-color:var(--color-accent-light)}.register-row.register-row-first td{border-bottom:none}.register-row.split-row td{color:var(--color-gray-500);font-style:italic;border-bottom:1px solid var(--color-gray-100)}.register-row .indent{padding-left:var(--space-4)}.transaction-input td{padding:var(--space-1) var(--space-2);background:var(--bg-stripe);border-bottom:1px solid var(--color-gray-200)}.transaction-input input{width:100%;border:1px solid var(--color-gray-200);padding:4px 6px;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-gray-700);border-radius:var(--radius-sm);transition:border-color .15s}.transaction-input input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.transaction-input input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.transaction-input.editing td{background:var(--color-accent-light)}.edit-actions{display:flex;gap:var(--space-1);white-space:nowrap}.register-empty{padding:var(--space-8) var(--space-6);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-base)}.register-error{color:var(--color-danger)}.register-table input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent);cursor:pointer}.register-table th.col-amount,.register-table th.col-balance{text-align:right}.register-table th.col-check,.register-table th.col-reconcile{text-align:center}@media(hover:none){.register-table input[type=checkbox]{min-width:44px;min-height:44px}}@media(max-width:767px){.transaction-register{padding:var(--space-3)}.register-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.register-toolbar{flex-direction:column;align-items:stretch}.register-toolbar-left,.register-toolbar-right{flex-wrap:wrap}.register-search{width:100%}.edit-actions{flex-wrap:wrap}}.related-items-sidebar{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4)}.related-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.related-items-header h4{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.05em}.related-items-add-btn{background:none;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);padding:2px 10px;font-size:var(--font-size-xs);color:var(--color-gray-500);cursor:pointer;transition:all .15s}.related-items-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.related-items-empty{text-align:center;padding:var(--space-5) var(--space-3);color:var(--color-gray-400);font-size:var(--font-size-sm)}.related-items-empty p{margin:0 0 var(--space-3)}.related-items-group{margin-bottom:var(--space-3)}.related-items-group:last-child{margin-bottom:0}.related-items-group-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.related-item-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;position:relative}.related-item-card.not-navigable{cursor:default}.related-item-card:hover{background:var(--bg-hover, var(--color-gray-100))}.related-item-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:var(--radius-sm);background:var(--color-gray-100)}.related-item-info{flex:1;min-width:0}.related-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;display:block}.related-item-name:hover{color:var(--color-accent)}.related-item-relation{font-size:var(--font-size-xs);color:var(--color-gray-400)}.related-item-remove{opacity:0;background:none;border:none;color:var(--color-gray-400);cursor:pointer;font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-sm);transition:all .15s;flex-shrink:0}.related-item-card:hover .related-item-remove{opacity:1}.related-item-remove:hover{color:var(--color-danger, #dc2626);background:var(--color-danger-bg, #fef2f2)}.related-item-auto-badge{font-size:10px;color:var(--color-gray-400);background:var(--color-gray-100);padding:1px 5px;border-radius:var(--radius-sm);flex-shrink:0}.related-items-loading{text-align:center;padding:var(--space-4);color:var(--color-gray-400);font-size:var(--font-size-sm)}.add-link-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.add-link-dialog{background:var(--bg-surface, #fff);border-radius:var(--radius-md);width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.add-link-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-gray-200)}.add-link-dialog-header h3{margin:0;font-size:var(--font-size-base);font-weight:600}.add-link-dialog-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--color-gray-400);padding:4px}.add-link-dialog-close:hover{color:var(--color-gray-700)}.add-link-dialog-body{padding:var(--space-4);overflow-y:auto;flex:1}.add-link-relation-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.add-link-relation-row select{flex:1;padding:6px 10px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-surface, #fff)}.entity-search{margin-bottom:var(--space-3)}.entity-search-input{width:100%;padding:8px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);outline:none;box-sizing:border-box}.entity-search-input:focus{border-color:var(--color-accent)}.entity-search-type-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-3)}.entity-search-type-tab{background:none;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-xs);cursor:pointer;color:var(--color-gray-500);transition:all .15s}.entity-search-type-tab.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.entity-search-type-tab:hover:not(.active){border-color:var(--color-gray-400)}.entity-search-results{max-height:300px;overflow-y:auto}.entity-search-result{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.entity-search-result:hover{background:var(--bg-hover, var(--color-gray-100))}.entity-search-result-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:var(--radius-sm);background:var(--color-gray-100);flex-shrink:0}.entity-search-result-info{flex:1;min-width:0}.entity-search-result-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.entity-search-result-meta{font-size:var(--font-size-xs);color:var(--color-gray-400)}.entity-search-empty{text-align:center;padding:var(--space-4);color:var(--color-gray-400);font-size:var(--font-size-sm)}.entity-search-loading{text-align:center;padding:var(--space-3);color:var(--color-gray-400);font-size:var(--font-size-sm)}.add-link-error{color:var(--color-danger, #dc2626);font-size:var(--font-size-sm);margin-top:var(--space-2)}.wbs-dialog-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.wbs-dialog{background:var(--bg-surface);border-radius:var(--radius-md);width:600px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 24px #0000001f}.wbs-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100)}.wbs-dialog-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.wbs-dialog-body{padding:var(--space-4);overflow-y:auto;flex:1}.wbs-dialog-body .form-group{margin-bottom:var(--space-3)}.wbs-dialog-body .form-group label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-1)}.wbs-dialog-body .form-group select{width:100%;padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.wbs-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.wbs-task-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.wbs-task-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-50);cursor:pointer;font-size:var(--font-size-sm)}.wbs-task-row:last-child{border-bottom:none}.wbs-task-row:hover{background:var(--color-gray-50)}.wbs-task-disabled{opacity:.5;cursor:default}.wbs-task-code{color:var(--color-gray-500);font-variant-numeric:tabular-nums;min-width:60px}.wbs-task-title{flex:1;color:var(--color-gray-700)}.wbs-task-cost{color:var(--color-gray-600);font-variant-numeric:tabular-nums;text-align:right;min-width:80px}.wbs-replace-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}.wbs-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-100)}.wbs-error{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-sm);margin:var(--space-2) var(--space-4) 0}.wbs-loading{padding:var(--space-3);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.btn-close{background:none;border:none;font-size:var(--font-size-base);color:var(--color-gray-400);cursor:pointer;padding:var(--space-1)}.send-dialog-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.send-dialog{background:var(--bg-surface);border-radius:var(--radius-md);width:480px;max-width:95vw;box-shadow:0 4px 24px #0000001f}.send-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100)}.send-dialog-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.send-dialog-body{padding:var(--space-4)}.send-dialog-body .form-group{margin-bottom:var(--space-3)}.send-dialog-body .form-group label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-1)}.send-dialog-body .form-group input,.send-dialog-body .form-group textarea{width:100%;padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-gray-700);box-sizing:border-box}.send-dialog-body .form-group input:focus,.send-dialog-body .form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.send-pdf-note{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-bottom:var(--space-3)}.send-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2)}.send-error{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-sm);margin:var(--space-2) var(--space-4) 0}.invoice-detail-page{max-width:1200px}.invoice-detail-with-sidebar{display:grid;grid-template-columns:1fr 280px;gap:var(--space-5)}.invoice-detail-main,.invoice-detail-sidebar{min-width:0}@media(max-width:900px){.invoice-detail-with-sidebar{grid-template-columns:1fr}}.invoice-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.invoice-detail-card{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.card-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-3) 0}.invoice-meta{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-gray-100)}.meta-row{display:flex;gap:var(--space-6);margin-bottom:var(--space-2)}.meta-row:last-child{margin-bottom:0}.detail-line-items,.payments-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.detail-line-items th,.payments-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-200)}.detail-line-items td,.payments-table td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-100)}.col-right{text-align:right;font-variant-numeric:tabular-nums}.detail-totals{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);padding-top:var(--space-2)}.total-line{display:flex;justify-content:space-between;width:260px;font-size:var(--font-size-sm);color:var(--color-gray-600);padding:var(--space-1) 0}.total-line-bold{font-weight:600;color:var(--color-gray-700);border-top:1px solid var(--color-gray-200);padding-top:var(--space-2);margin-top:var(--space-1)}.linked-transaction{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-500)}.payment-form-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.payment-form .form-group{display:flex;flex-direction:column}.payment-form .form-group label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.3px}.payment-form .form-group input,.payment-form .form-group select{padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700)}.payment-form .form-group input:focus,.payment-form .form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.payment-form-actions{display:flex;justify-content:flex-end}.invoice-loading,.invoice-error{padding:var(--space-4);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.invoice-error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}@media(max-width:767px){.invoice-detail-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.header-actions{width:100%}.header-actions button{flex:1}.meta-row{flex-direction:column;gap:var(--space-3)}.detail-line-items,.payments-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.total-line{width:100%}.payment-form-row{grid-template-columns:1fr}.payment-form-actions{flex-direction:column}.payment-form-actions button{width:100%}}.invoice-form-page{max-width:900px}.invoice-form-header{margin-bottom:var(--space-4)}.invoice-form{display:flex;flex-direction:column;gap:var(--space-5)}.section-header h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin:0}.line-items-table{width:100%;border-collapse:collapse}.line-items-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-gray-200)}.line-items-table td{padding:var(--space-1) var(--space-2)}.line-items-table input{width:100%;padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-sizing:border-box}.line-items-table input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.col-desc{width:45%}.col-qty{width:12%}.col-price{width:18%}.col-amt{width:18%;text-align:right}.col-action{width:7%;text-align:center}.col-amt-value{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);color:var(--color-gray-600);padding-right:var(--space-2)}.btn-remove{background:none;border:1px solid var(--color-gray-200);color:var(--color-gray-400);cursor:pointer;width:24px;height:24px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:1;transition:color .15s,border-color .15s}@media(hover:hover){.btn-remove:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger)}}@media(hover:none){.btn-remove{min-width:44px;min-height:44px}}.btn-remove:disabled{opacity:.3;cursor:default}.invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.total-row{display:flex;justify-content:space-between;width:240px;font-size:var(--font-size-sm);color:var(--color-gray-600);padding:var(--space-1) 0}.total-row-final{font-weight:600;font-size:var(--font-size-base);color:var(--color-gray-700);border-top:1px solid var(--color-gray-200);padding-top:var(--space-2);margin-top:var(--space-1)}@media(max-width:767px){.form-row{flex-direction:column}.form-row-3{grid-template-columns:1fr}.line-items-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.line-items-table table{min-width:600px}.total-row{width:100%}.form-actions{flex-direction:column}.form-actions button{width:100%}}.receipt-upload-page{padding:var(--space-6);max-width:900px}.receipt-upload-header{margin-bottom:var(--space-4)}.receipt-upload-form{display:flex;flex-direction:column;gap:var(--space-5)}.drop-zone{border:2px dashed var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-8);text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s;min-height:180px;display:flex;align-items:center;justify-content:center}.drop-zone-active{border-color:var(--color-accent);background:#3b82f60a}.drop-zone-has-file{border-style:solid;border-color:var(--color-gray-200);padding:var(--space-4)}.drop-zone-preview{max-height:200px;max-width:100%;object-fit:contain;border-radius:var(--radius-sm)}.drop-zone-file{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.drop-zone-icon{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-400);background:var(--color-gray-100);width:56px;height:56px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.drop-zone-filename{font-size:var(--font-size-sm);color:var(--color-gray-600)}.drop-zone-prompt{display:flex;flex-direction:column;gap:var(--space-1)}.drop-zone-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.form-row-2{display:grid;grid-template-columns:1fr 1fr}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr}@media(max-width:767px){.receipt-upload-page{padding:var(--space-3)}.form-row{flex-direction:column}.form-row-2,.form-row-3{grid-template-columns:1fr}.drop-zone{min-height:120px;padding:var(--space-4)}.form-actions{flex-direction:column}.form-actions button{width:100%}}.receipt-detail-page{padding:var(--space-6);max-width:1000px}.receipt-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}@media(hover:hover){.btn-danger:hover{background:var(--color-danger-bg)}}.receipt-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}.receipt-detail-card{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.receipt-file-card{display:flex;align-items:center;justify-content:center;min-height:300px}.receipt-file-image{max-width:100%;max-height:500px;object-fit:contain;border-radius:var(--radius-sm)}.receipt-file-download{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6)}.receipt-file-icon{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-400);background:var(--color-gray-100);width:72px;height:72px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.receipt-file-name{font-size:var(--font-size-sm);color:var(--color-gray-600)}.receipt-meta{display:flex;flex-direction:column;gap:var(--space-3)}.meta-row{display:flex;gap:var(--space-6)}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.3px;color:var(--color-gray-500);font-weight:500}.meta-value{font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:500}.receipt-amount{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800)}.linked-transaction{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-500)}.linked-transaction a{color:var(--color-accent);text-decoration:none}@media(hover:hover){.linked-transaction a:hover{text-decoration:underline}}.receipt-loading,.receipt-error{padding:var(--space-4);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.receipt-error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}@media(max-width:767px){.receipt-detail-page{padding:var(--space-3)}.receipt-detail-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.header-actions{width:100%}.receipt-detail-layout{grid-template-columns:1fr}.meta-row{flex-direction:column;gap:var(--space-3)}}.budget-list-page{padding:var(--space-6)}.budget-list-header{margin-bottom:var(--space-4)}.budget-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.budget-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--color-gray-700)}.budget-filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.budget-table-container{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow:hidden}.budget-table{width:100%;border-collapse:collapse}.budget-table thead th{background:var(--color-gray-50);padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);border-bottom:1px solid var(--color-gray-200)}.budget-table tbody td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.budget-table .col-amount{text-align:right;font-variant-numeric:tabular-nums}.budget-table .col-name{font-weight:500;color:var(--color-accent)}.budget-table .col-actions{text-align:right;white-space:nowrap}.budget-row{cursor:pointer;transition:background-color .15s}@media(hover:hover){.budget-row:hover{background:var(--color-gray-50)}}.budget-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.status-active{background:var(--color-success-bg);color:var(--color-success-text)}.status-closed{background:var(--color-info-bg);color:var(--color-info-text)}.budget-count{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);color:var(--color-gray-500);border-top:1px solid var(--color-gray-100)}.budget-loading,.budget-empty{padding:var(--space-8);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.budget-empty .btn-text{display:block;margin:var(--space-2) auto 0}.btn-sm{font-size:var(--font-size-xs);padding:2px 6px}@media(hover:none){.btn-sm{min-width:44px;min-height:44px}}@media(hover:hover){.btn-danger-text:hover{text-decoration:underline}}@media(max-width:767px){.budget-list-page{padding:var(--space-3)}.budget-list-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{flex-wrap:wrap}.toolbar-right button{width:100%}}.budget-form-page{padding:var(--space-6);max-width:900px}.budget-form-header{margin-bottom:var(--space-4)}.budget-form{display:flex;flex-direction:column;gap:var(--space-5)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.section-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800)}.form-group{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.form-group-lg{flex:2}.form-group label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500)}.form-group input,.form-group select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface)}.entries-table{border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);overflow:hidden}.entries-header{display:flex;background:var(--color-gray-50);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);border-bottom:1px solid var(--color-gray-200)}.entry-row{display:flex;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100);align-items:center;gap:var(--space-2)}.entry-row:last-child{border-bottom:none}.entry-col-account{flex:3}.entry-col-amount{flex:1.5}.entry-col-period{flex:1}.entry-col-action{flex:0 0 70px;text-align:right}.entry-row select,.entry-row input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface)}.entry-row select:focus,.entry-row input:focus{outline:none;border-color:var(--color-accent)}.entries-total{margin-top:var(--space-3);text-align:right;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-800);font-variant-numeric:tabular-nums}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.budget-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.budget-loading{padding:var(--space-8);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.btn-danger-text{color:var(--color-danger)}@media(max-width:767px){.budget-form-page{padding:var(--space-3)}.form-row{flex-direction:column}.entries-header,.entry-row{flex-wrap:wrap}.entry-col-account,.entry-col-amount,.entry-col-period{flex:1 1 100%}.form-actions{flex-direction:column}.form-actions button{width:100%}}.budget-detail-page{padding:var(--space-6);max-width:1000px}.budget-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.budget-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.budget-breadcrumb .breadcrumb-link{cursor:pointer;color:var(--color-accent)}@media(hover:hover){.budget-breadcrumb .breadcrumb-link:hover{text-decoration:underline}}.budget-breadcrumb .breadcrumb-sep{margin:0 var(--space-1)}.header-actions{display:flex;gap:var(--space-2)}.budget-detail-card{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.budget-meta{display:flex;flex-direction:column;gap:var(--space-3)}.budget-detail-status{display:inline-block;padding:2px 10px;border-radius:10px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.budget-detail-status.status-draft{background:var(--color-gray-100);color:var(--color-gray-600)}.budget-detail-status.status-active{background:var(--color-success-bg);color:var(--color-success)}.budget-detail-status.status-closed{background:var(--color-info-bg, var(--color-gray-100));color:var(--color-info, var(--color-gray-600))}.budget-section-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-3) 0}.budget-entries-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.budget-entries-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.3px;color:var(--color-gray-500);font-weight:500;border-bottom:1px solid var(--color-gray-100)}.budget-entries-table td{padding:var(--space-2) var(--space-3);color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-50)}.budget-entries-table .col-amount{text-align:right;font-variant-numeric:tabular-nums}.budget-entries-table th.col-amount{text-align:right}.budget-entries-table .totals-row{font-weight:600;border-top:2px solid var(--color-gray-200)}.budget-entries-table .totals-row td{color:var(--color-gray-800);border-bottom:none}.budget-detail-loading,.budget-detail-empty{padding:var(--space-4);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.budget-detail-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}@media(max-width:767px){.budget-detail-page{padding:var(--space-3)}.budget-detail-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.header-actions{width:100%;flex-wrap:wrap}}.variance-page{padding:var(--space-6)}.variance-header{margin-bottom:var(--space-4)}.variance-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.variance-breadcrumb .breadcrumb-link{cursor:pointer;color:var(--color-accent)}@media(hover:hover){.variance-breadcrumb .breadcrumb-link:hover{text-decoration:underline}}.variance-breadcrumb .breadcrumb-sep{margin:0 var(--space-1)}.variance-title-bar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.variance-title{margin:0 0 var(--space-1) 0;font-size:var(--font-size-xxl);font-weight:700;letter-spacing:-.5px;color:var(--color-gray-700)}.variance-period{margin:0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.variance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.summary-card{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.summary-card.over{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.summary-card.warning{border-color:var(--color-warning-border);background:var(--color-warning-bg)}.summary-card.under{border-color:var(--color-success-border);background:var(--color-success-bg)}.summary-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);margin-bottom:var(--space-1)}.summary-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);font-variant-numeric:tabular-nums}.summary-card.over .summary-value{color:var(--color-danger-text)}.summary-card.warning .summary-value{color:var(--color-warning-text)}.summary-card.under .summary-value{color:var(--color-success-text)}.variance-entries{display:flex;flex-direction:column;gap:var(--space-3)}.variance-entry{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.variance-entry.over{border-left:3px solid var(--color-danger)}.variance-entry.warning{border-left:3px solid var(--color-warning)}.variance-entry.under{border-left:3px solid var(--color-success)}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.entry-account{display:flex;align-items:baseline;gap:var(--space-2)}.entry-code{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);font-variant-numeric:tabular-nums}.entry-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800)}.entry-pct{font-size:var(--font-size-sm);font-weight:600;font-variant-numeric:tabular-nums}.variance-entry.over .entry-pct{color:var(--color-danger-text)}.variance-entry.warning .entry-pct{color:var(--color-warning-text)}.variance-entry.under .entry-pct{color:var(--color-success-text)}.variance-progress-bar{height:8px;background:var(--color-gray-100);border-radius:4px;overflow:hidden;margin-bottom:var(--space-2)}.variance-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.variance-progress-fill.under{background:var(--color-success)}.variance-progress-fill.warning{background:var(--color-warning)}.variance-progress-fill.over{background:var(--color-danger)}.entry-amounts{display:flex;gap:var(--space-4)}.entry-amount-group{display:flex;flex-direction:column;gap:2px}.amount-label{font-size:var(--font-size-xs);color:var(--color-gray-500)}.amount-value{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);font-variant-numeric:tabular-nums}.variance-amount.over .amount-value{color:var(--color-danger-text)}.variance-amount.warning .amount-value{color:var(--color-warning-text)}.variance-amount.under .amount-value{color:var(--color-success-text)}.entry-alert{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.variance-loading,.variance-empty{padding:var(--space-8);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.variance-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.variance-actions{display:flex;gap:var(--space-2)}@media(max-width:767px){.variance-page{padding:var(--space-3)}.variance-title-bar{flex-direction:column;gap:var(--space-2)}.variance-summary{grid-template-columns:repeat(2,1fr)}.entry-header{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.entry-amounts,.variance-actions{flex-wrap:wrap}.variance-actions button{width:100%}}.reports-hub-header{margin-bottom:var(--space-6)}.reports-hub-header h1{font-size:var(--text-2xl);font-weight:600;margin:0 0 var(--space-2) 0}.reports-hub-header p{color:var(--text-secondary);margin:0}.reports-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.reports-hub-card{display:block;padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}@media(hover:hover){.reports-hub-card:hover{border-color:var(--border-active);box-shadow:0 2px 8px #0000000f}}.reports-hub-card h3{font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-2) 0}.reports-hub-card p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.4}@media(max-width:767px){.reports-hub-grid{grid-template-columns:1fr}}.report-page{max-width:960px}.report-breadcrumb{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.report-breadcrumb a{color:var(--text-secondary);text-decoration:none}@media(hover:hover){.report-breadcrumb a:hover{text-decoration:underline}}.report-page h1{font-size:var(--text-2xl);font-weight:600;margin:0 0 var(--space-5) 0}.report-controls{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.report-controls label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.report-controls input,.report-controls select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--bg-surface);color:var(--text-primary)}.report-controls .btn-primary{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer}.report-controls .btn-primary:disabled{opacity:.6;cursor:not-allowed}.report-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.report-actions button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--text-sm);cursor:pointer;color:var(--text-primary)}@media(hover:hover){.report-actions button:hover{border-color:var(--border-active)}}.report-error{padding:var(--space-3);background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.report-section{margin-bottom:var(--space-5)}.report-section h3{font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-2) 0}.report-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.report-table th{text-align:left;font-weight:500;color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--border-default)}.report-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default)}.report-table .num{text-align:right;font-variant-numeric:tabular-nums}.report-section-total td{font-weight:600;border-top:2px solid var(--border-default)}.report-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:2px solid var(--border-default);font-weight:600;font-size:var(--text-base)}.report-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-top:var(--space-5)}.report-summary-card{padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md)}.report-summary-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1)}.report-summary-value{font-size:var(--text-xl);font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:767px){.report-controls{flex-direction:column;align-items:stretch}.report-actions{flex-wrap:wrap}.report-actions button{flex:1}.report-section{overflow-x:auto;-webkit-overflow-scrolling:touch}.report-table{min-width:500px}.report-summary-cards{grid-template-columns:1fr}}@media print{.sidebar,.app-header,.report-controls,.report-breadcrumb,.report-actions{display:none!important}.app-body{margin-left:0!important}.app-main{padding:0!important}.report-page{padding:0;max-width:100%}.report-page h1{font-size:18pt;margin-bottom:8pt}.report-table{width:100%;border-collapse:collapse;font-size:9pt;page-break-inside:auto}.report-table th,.report-table td{border-bottom:.5pt solid var(--color-gray-400);padding:3pt 6pt}.report-table th{border-bottom:1pt solid var(--color-gray-700);font-weight:600}.report-section-total td{border-top:1pt solid var(--color-gray-700);font-weight:600}.report-footer{border-top:2pt solid var(--color-gray-700);font-weight:700;font-size:10pt;margin-top:12pt;padding-top:6pt}.report-summary-cards{display:flex;gap:12pt}.report-summary-card{border:.5pt solid var(--color-gray-400);padding:6pt;flex:1}tr{page-break-inside:avoid}}.reconciliation-page{padding:var(--space-6);max-width:1400px}.reconciliation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.reconciliation-header h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-800)}.sessions-table{width:100%;border-collapse:collapse}.sessions-table th{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-200)}.sessions-table td{font-size:var(--font-size-sm);color:var(--color-gray-700);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100)}@media(hover:hover){.sessions-table tr:hover td{background:var(--color-gray-50)}}.sessions-table tr{cursor:pointer}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs);font-weight:500}.status-open{background:var(--color-info-bg);color:var(--color-info-text)}.status-completed{background:var(--color-success-bg);color:var(--color-success-text)}.import-form{display:flex;flex-direction:column;gap:var(--space-5);max-width:700px}.drop-zone{border:2px dashed var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-8);text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s;min-height:120px;display:flex;align-items:center;justify-content:center}@media(hover:hover){.drop-zone:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}}.drop-zone-active{border-color:var(--color-accent);background:var(--color-info-bg)}.drop-zone-has-file{border-style:solid;border-color:var(--color-gray-200)}.drop-zone-text{font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:500}.drop-zone-hint{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--space-1)}.form-section{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.form-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;flex:1}.form-group label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group select{padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.reconcile-summary{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);margin-bottom:var(--space-4);align-items:center;flex-wrap:wrap}.summary-stat{display:flex;flex-direction:column}.summary-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px}.summary-value{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-800)}.summary-spacer{flex:1}.reconcile-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.reconcile-panel{border:1px solid var(--color-gray-100);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.panel-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);display:flex;justify-content:space-between;align-items:center}.panel-count{font-weight:400;color:var(--color-gray-400)}.panel-list{max-height:600px;overflow-y:auto}.bank-txn-item,.acct-txn-item{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-50);cursor:pointer;transition:background-color .1s;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}@media(hover:hover){.bank-txn-item:hover,.acct-txn-item:hover{background:var(--color-gray-50)}}.bank-txn-item.selected,.acct-txn-item.selected{background:var(--color-info-bg);border-left:3px solid var(--color-accent)}.bank-txn-item.matched{opacity:.6}.txn-info{flex:1;min-width:0}.txn-desc{font-size:var(--font-size-sm);color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-date{font-size:var(--font-size-xs);color:var(--color-gray-400)}.txn-amount{font-size:var(--font-size-sm);font-weight:500;white-space:nowrap}.txn-amount.positive{color:var(--color-success-text)}.txn-amount.negative{color:var(--color-danger)}.confidence-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-full, 9999px);font-size:10px;font-weight:500;margin-left:var(--space-1)}.confidence-exact{background:var(--color-success-bg);color:var(--color-success-text)}.confidence-probable,.confidence-possible{background:var(--color-warning-bg);color:var(--color-warning-text)}.confidence-unmatched{background:var(--color-danger-bg);color:var(--color-danger-text)}.reconcile-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.empty-state{padding:var(--space-8);text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm)}.breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-2)}.breadcrumb-link{cursor:pointer;color:var(--color-accent)}@media(hover:hover){.breadcrumb-link:hover{text-decoration:underline}}.breadcrumb-sep{margin:0 var(--space-1)}.match-actions{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-100);display:flex;gap:var(--space-2);align-items:center}.match-hint{font-size:var(--font-size-xs);color:var(--color-gray-400);flex:1}.summary-divider{width:1px;height:32px;background:var(--color-gray-200)}.summary-balanced{color:var(--color-success-text)}.summary-unbalanced{color:var(--color-danger)}.manual-entry-toggle{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-100)}.manual-entry-form{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-100);background:var(--color-gray-50)}.manual-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.manual-entry-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.3px}.btn-close{font-size:var(--font-size-xs);color:var(--color-gray-400);background:none;border:none;cursor:pointer;padding:var(--space-1)}.btn-close:hover{color:var(--color-gray-600)}.manual-entry-fields{display:flex;gap:var(--space-2);align-items:center}.manual-entry-input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700)}.manual-entry-input:focus{outline:none;border-color:var(--color-accent)}.manual-entry-desc{flex:1}.manual-entry-amount{width:120px}.reconcile-error-sm{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3)}@media(max-width:767px){.reconciliation-page{padding:var(--space-3)}.reconciliation-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.import-form{max-width:100%}.form-row,.form-actions{flex-direction:column}.form-actions button{width:100%}.reconcile-summary{flex-direction:column}.reconcile-panels{grid-template-columns:1fr}.match-actions,.manual-entry-fields{flex-wrap:wrap}.manual-entry-amount{width:100%}}.comm-templates-page{padding:var(--space-6)}.comm-templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.comm-templates-header h2{margin:0;color:var(--color-gray-800, var(--color-gray-700))}.comm-templates-filters{display:flex;gap:var(--space-2);align-items:center}.comm-templates-select{padding:6px 10px;font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.comm-templates-new-btn{padding:6px 14px;font-size:var(--font-size-sm);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-white);cursor:pointer}.comm-templates-form{border:1px solid var(--color-gray-200);border-radius:var(--radius-md, 8px);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-gray-50)}.comm-templates-form h4{margin:0 0 var(--space-3) 0;color:var(--color-gray-700)}.comm-templates-form-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.comm-templates-form-group{margin-bottom:var(--space-3)}.comm-templates-form-group--flex-2{flex:2}.comm-templates-form-label{display:block;font-size:var(--font-size-sm);margin-bottom:4px;color:var(--color-gray-600)}.comm-templates-input{width:100%;padding:6px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.comm-templates-textarea{width:100%;padding:6px 10px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);resize:vertical}.comm-templates-form-actions{display:flex;gap:var(--space-2)}.comm-templates-cancel-btn{padding:6px 14px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;color:var(--color-gray-600)}.comm-templates-muted{color:var(--color-gray-400)}.comm-templates-list{display:flex;flex-direction:column;gap:var(--space-3)}.comm-template-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-md, 8px);padding:var(--space-4);background:var(--bg-surface)}.comm-template-card-header{display:flex;justify-content:space-between;align-items:flex-start}.comm-template-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.comm-template-builtin-badge{margin-left:var(--space-2);font-size:var(--font-size-xs);color:var(--color-accent);font-weight:400}.comm-template-meta{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-top:2px}.comm-template-delete-btn{padding:4px 10px;font-size:var(--font-size-xs);border:1px solid var(--color-danger);border-radius:var(--radius-sm);background:transparent;color:var(--color-danger);cursor:pointer}.comm-template-subject{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600)}.comm-template-body{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500);white-space:pre-wrap;max-height:120px;overflow:hidden}.comm-template-variables{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-400)}@media(max-width:767px){.comm-templates-page{padding:var(--space-3)}.comm-templates-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.comm-templates-filters{flex-direction:column;width:100%}.comm-templates-filters select,.comm-templates-filters button{width:100%}}.automated-actions{max-width:1200px}.automated-actions-intro{margin-bottom:var(--space-4)}.automated-actions-intro h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.automated-actions-intro p{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.5}.aa-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-5)}.aa-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.aa-tab:hover{color:var(--color-gray-700)}.aa-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.aa-loading,.aa-empty{font-size:var(--font-size-sm);color:var(--color-gray-400);padding:var(--space-8) 0;text-align:center}.aa-error{font-size:var(--font-size-sm);color:var(--color-danger);padding:var(--space-4);background:var(--color-danger-bg);border-radius:var(--radius-md)}.aa-category{margin-bottom:var(--space-6)}.aa-category-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.aa-cards{display:flex;flex-direction:column;gap:var(--space-2)}.aa-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.aa-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);cursor:pointer;gap:var(--space-3)}.aa-card-header:hover{background:var(--bg-hover)}.aa-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.aa-card-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.aa-card-desc{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aa-card-controls{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.aa-badge{font-size:var(--font-size-xs);font-weight:500;padding:2px 8px;border-radius:12px;white-space:nowrap}.aa-badge--auto{background:var(--color-success-bg);color:var(--color-success)}.aa-badge--suggest{background:var(--color-warning-bg);color:var(--color-warning)}.aa-badge--manual{background:var(--color-gray-100);color:var(--color-gray-500)}.aa-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.aa-toggle input{opacity:0;width:0;height:0}.aa-toggle-slider{position:absolute;inset:0;background:var(--color-gray-200);border-radius:10px;transition:background .2s}.aa-toggle-slider:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;background:var(--bg-surface);border-radius:50%;transition:transform .2s}.aa-toggle input:checked+.aa-toggle-slider{background:var(--color-accent)}.aa-toggle input:checked+.aa-toggle-slider:before{transform:translate(16px)}.aa-card-expanded{padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border-color-light);display:flex;flex-direction:column;gap:var(--space-3)}.aa-card-field{display:flex;flex-direction:column;gap:var(--space-1)}.aa-field-label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500)}.aa-select{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-700);max-width:200px}.aa-log-section{margin-top:var(--space-2)}.aa-log-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);margin-bottom:var(--space-2)}.aa-log-entries{display:flex;flex-direction:column;gap:var(--space-1)}.aa-log-entry{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);background:var(--bg-app);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.aa-log-date{color:var(--color-gray-500)}.aa-log-status{font-weight:500}.aa-log-status--success{color:var(--color-success)}.aa-log-status--error{color:var(--color-danger)}.aa-log-status--pending{color:var(--color-warning)}.aa-log-empty{font-size:var(--font-size-xs);color:var(--color-gray-400);margin:0}.aa-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s}.aa-btn:disabled{opacity:.5;cursor:not-allowed}.aa-btn--primary{background:var(--color-accent);color:var(--bg-surface)}.aa-btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.aa-btn--secondary{background:var(--color-gray-100);color:var(--color-gray-700)}.aa-btn--secondary:hover:not(:disabled){background:var(--color-gray-200)}.aa-btn--danger{background:var(--color-danger);color:var(--bg-surface)}.aa-btn--danger:hover:not(:disabled){opacity:.9}.aa-btn-icon{font-size:var(--font-size-xs);font-weight:500;color:var(--color-accent);background:none;border:none;cursor:pointer;padding:var(--space-1)}.aa-btn-icon:hover{text-decoration:underline}.aa-btn-icon--danger{color:var(--color-danger)}.aa-scheduled-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.aa-table-wrap{overflow-x:auto}.aa-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.aa-table th{text-align:left;font-weight:600;font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color)}.aa-table td{padding:var(--space-3);border-bottom:1px solid var(--border-color-light);color:var(--color-gray-700)}.aa-table-name{font-weight:500}.aa-table-date{font-size:var(--font-size-xs);color:var(--color-gray-400)}.aa-table-actions{display:flex;gap:var(--space-2)}.aa-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.aa-modal{background:var(--bg-surface);border-radius:var(--radius-lg);padding:var(--space-6);width:480px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.aa-modal--sm{width:360px}.aa-modal h4{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-4)}.aa-modal p{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.5;margin-bottom:var(--space-4)}.aa-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.aa-form-field{margin-bottom:var(--space-3)}.aa-form-field label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);margin-bottom:var(--space-1)}.aa-form-field input[type=text],.aa-form-field input[type=time],.aa-form-field select{width:100%;padding:var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-700)}.aa-form-field input:focus,.aa-form-field select:focus{outline:none;border-color:var(--color-accent)}.aa-form-field--inline{display:flex;align-items:center;gap:var(--space-3)}.aa-form-field--inline label{margin-bottom:0}.aa-form-error{font-size:var(--font-size-xs);color:var(--color-danger);padding:var(--space-2);background:var(--color-danger-bg);border-radius:var(--radius-sm)}@media(max-width:767px){.aa-card-header{flex-direction:column;align-items:flex-start}.aa-card-controls{margin-top:var(--space-2)}.aa-table-wrap{font-size:var(--font-size-xs)}}.comm-log{max-width:1200px}.comm-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.comm-log-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin:0}.comm-log-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-600);background:var(--bg-surface)}.comm-log-muted{color:var(--color-gray-400);font-size:var(--font-size-sm);padding:var(--space-6);text-align:center}.comm-log-error{color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--space-4)}.comm-log-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-gray-400)}.comm-log-empty h4{font-size:var(--font-size-lg);color:var(--color-gray-500);margin-bottom:var(--space-2)}.comm-log-empty p{font-size:var(--font-size-sm)}.comm-log-timeline{display:flex;flex-direction:column;gap:1px;background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.comm-log-item{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-surface)}.comm-log-item-channel{flex-shrink:0;width:64px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.03em;padding-top:2px}.comm-log-item-body{flex:1;min-width:0}.comm-log-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.comm-log-item-contact{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.comm-log-item-time{font-size:var(--font-size-xs);color:var(--color-gray-400);flex-shrink:0}.comm-log-item-subject{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--space-1)}.comm-log-item-summary{font-size:var(--font-size-xs);color:var(--color-gray-400);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comm-log-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-500)}.comm-log-pagination-buttons{display:flex;gap:var(--space-2)}.comm-log-pagination button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-600)}.comm-log-pagination button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:767px){.comm-log-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.comm-log-item-channel{width:48px;font-size:10px}.comm-log-pagination{flex-direction:column;gap:var(--space-2)}}.email-tab{display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:400px}.email-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-3);flex-wrap:wrap}.email-filters{display:flex;gap:0}.email-filter-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;transition:color .15s,background .15s}.email-filter-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.email-filter-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.email-filter-btn:not(:first-child){border-left:none}.email-filter-btn.active{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.email-filter-btn:not(.active):hover{color:var(--color-gray-700);background:var(--color-gray-50)}}.email-toolbar-actions{display:flex;gap:var(--space-2);align-items:center}.email-search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface);min-width:180px}.email-search:focus{outline:none;border-color:var(--color-accent)}.email-toolbar-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer;transition:border-color .15s,color .15s}.email-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}@media(hover:hover){.email-toolbar-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}}.email-compose-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s}@media(hover:hover){.email-compose-btn:hover{opacity:.9}}.email-split{display:flex;flex:1;min-height:0;gap:1px;background:var(--color-gray-200);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.email-list-pane{flex:1;min-width:0;overflow-y:auto;background:var(--bg-surface)}.email-list-pane.has-selection{flex:0 0 360px;max-width:360px}.email-detail-pane{flex:1;min-width:0;overflow-y:auto;background:var(--bg-surface);display:none}.email-detail-pane.visible{display:block}.email-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-gray-400);font-size:var(--font-size-sm)}.email-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);cursor:pointer;transition:background .1s}@media(hover:hover){.email-row:hover{background:var(--color-gray-50)}}.email-row.selected{background:var(--color-gray-100)}.email-row.unread{font-weight:600}.email-row-left{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;min-width:140px;max-width:180px}.email-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.email-star-btn{border:none;background:none;cursor:pointer;font-size:var(--font-size-base);color:var(--color-gray-300);padding:0;line-height:1;flex-shrink:0}.email-star-btn.starred{color:var(--color-warning)}.email-row-sender{font-size:var(--font-size-sm);color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-row-direction{font-size:var(--font-size-xs);color:var(--color-gray-500)}.email-row-content{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-size-sm)}.email-row-subject{color:var(--color-gray-700)}.email-row-snippet{color:var(--color-gray-400);font-weight:400}.email-row-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.email-attach-icon{font-size:var(--font-size-xs);color:var(--color-gray-400)}.email-row-date{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap}.email-loading,.email-empty{padding:var(--space-8);text-align:center;color:var(--color-gray-400)}.email-empty h4{font-size:var(--font-size-base);color:var(--color-gray-500);margin-bottom:var(--space-2)}.email-empty p{font-size:var(--font-size-sm)}.email-error{padding:var(--space-4);text-align:center;color:var(--color-danger);font-size:var(--font-size-sm)}.email-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-500)}.email-pagination button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}.email-pagination button:disabled{opacity:.5;cursor:not-allowed}.email-thread{padding:var(--space-4)}.email-thread-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.email-back-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}@media(hover:hover){.email-back-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}}.email-reply-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s}@media(hover:hover){.email-reply-btn:hover{opacity:.9}}.email-thread-subject{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-3)}.email-thread-labels{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.email-label{display:inline-block;padding:2px 8px;background:var(--color-gray-100);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-gray-500)}.email-thread-messages{display:flex;flex-direction:column;gap:var(--space-3)}.email-message{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.email-message-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);cursor:pointer}.email-message-sender{font-size:var(--font-size-sm);color:var(--color-gray-700);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-message-sender strong{font-weight:600}.email-message-snippet{color:var(--color-gray-400);font-weight:400}.email-message-date{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap;flex-shrink:0;margin-left:var(--space-3)}.email-message-body{padding:var(--space-4)}.email-message-meta{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs);color:var(--color-gray-400);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-100)}.email-message-content{font-size:var(--font-size-sm);color:var(--color-gray-700);line-height:1.6;word-break:break-word}.email-message-content img{max-width:100%;height:auto}.email-compose-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.email-compose-modal{background:var(--bg-surface);border-radius:var(--radius-md);width:600px;max-width:90vw;max-height:85vh;overflow-y:auto;padding:var(--space-5);box-shadow:0 8px 32px #00000026}.email-compose-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.email-compose-header h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.email-compose-close{padding:var(--space-1) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer}.email-compose-error{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.email-compose-form{display:flex;flex-direction:column;gap:var(--space-3)}.email-compose-row{display:flex;flex-direction:column;gap:var(--space-1)}.email-compose-row label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.email-compose-row input,.email-compose-row select,.email-compose-row textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface);font-family:inherit}.email-compose-row input:focus,.email-compose-row select:focus,.email-compose-row textarea:focus{outline:none;border-color:var(--color-accent)}.email-compose-row textarea{resize:vertical;min-height:120px}.email-compose-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end}.email-compose-send{padding:var(--space-2) var(--space-5);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s}.email-compose-send:disabled{opacity:.5;cursor:not-allowed}@media(hover:hover){.email-compose-send:hover:not(:disabled){opacity:.9}}.email-compose-cancel{padding:var(--space-2) var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}.template-panel-overlay{position:fixed;inset:0;background:#0000004d;display:flex;justify-content:flex-end;z-index:1000}.template-panel{width:400px;max-width:90vw;height:100%;background:var(--bg-surface);box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;overflow:hidden}.template-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-gray-200)}.template-panel-header h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.template-panel-close{padding:var(--space-1) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer}.template-panel-filters{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-gray-100)}.template-panel-select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-600);background:var(--bg-surface)}.template-panel-list{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-5)}.template-panel-message{text-align:center;color:var(--color-gray-400);font-size:var(--font-size-sm);padding:var(--space-6) 0}.template-panel-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);margin-bottom:var(--space-2);transition:border-color .15s}@media(hover:hover){.template-panel-item:hover{border-color:var(--color-gray-300)}}.template-panel-item-info{min-width:0;flex:1}.template-panel-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);margin-bottom:2px}.template-panel-item-subject{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:4px}.template-panel-item-preview{font-size:var(--font-size-xs);color:var(--color-gray-400);line-height:1.4}.template-panel-use-btn{padding:var(--space-1) var(--space-3);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;flex-shrink:0;transition:opacity .15s}@media(hover:hover){.template-panel-use-btn:hover{opacity:.9}}@media(max-width:767px){.email-toolbar{flex-direction:column;align-items:stretch}.email-toolbar-actions{flex-wrap:wrap}.email-search{min-width:0;flex:1}.email-split{flex-direction:column}.email-list-pane,.email-list-pane.has-selection{flex:none;max-width:none;max-height:50%}.email-detail-pane.visible{display:block;flex:1}.email-compose-modal{width:100%;max-width:100%;max-height:100%;border-radius:0}.template-panel{width:100%}}.draft-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-2) 0;background:var(--bg-surface);border-left:3px solid var(--color-accent)}.draft-card--approved{border-left-color:var(--color-success);opacity:.7}.draft-card--rejected{border-left-color:var(--color-gray-300);opacity:.6}.draft-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.draft-card-type{font-size:var(--font-size-xs);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px}.draft-card-badge{font-size:10px;font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.draft-card-badge--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.draft-card-badge--approved{background:var(--color-success-bg);color:var(--color-success-text)}.draft-card-badge--rejected{background:var(--color-gray-100);color:var(--color-gray-500)}.draft-card-summary{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);margin-bottom:var(--space-2)}.draft-card-details{display:flex;flex-direction:column;gap:var(--space-1)}.draft-card-field{display:flex;gap:var(--space-2);font-size:var(--font-size-xs);line-height:1.4}.draft-card-field-label{color:var(--color-gray-400);min-width:56px;flex-shrink:0;font-weight:500}.draft-card-field-value{color:var(--color-gray-600);word-break:break-word}.draft-card-body{margin-top:var(--space-2)}.draft-card-body-preview{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-gray-600);background:var(--color-gray-50);padding:var(--space-2);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;margin:0;max-height:120px;overflow-y:auto;line-height:1.5}.draft-card-body-edit{width:100%;font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-gray-700);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-2);resize:vertical;outline:none;line-height:1.5}.draft-card-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-gray-100)}.draft-card-btn{font-size:var(--font-size-xs);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}.draft-card-btn--approve{background:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.draft-card-btn--approve:hover{background:var(--color-success)}.draft-card-btn--reject{background:var(--bg-surface);color:var(--color-danger);border-color:var(--color-danger)}.draft-card-btn--reject:hover{background:var(--color-danger-bg)}.draft-card-btn--edit{background:var(--bg-surface);color:var(--color-gray-600);border-color:var(--color-gray-300);margin-left:auto}.draft-card-btn--edit:hover{border-color:var(--color-gray-400);background:var(--color-gray-50)}.draft-card-resolved{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-gray-100);font-style:italic}.comm-agent-panel{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);height:100%;min-height:400px;max-height:calc(100vh - 220px)}.comm-agent-panel-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}.comm-agent-panel-avatar{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-accent-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.comm-agent-panel-avatar svg{width:16px;height:16px;color:var(--color-accent)}.comm-agent-panel-label{display:flex;flex-direction:column;gap:0;min-width:0}.comm-agent-panel-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);line-height:1.3}.comm-agent-panel-status{font-size:var(--font-size-xs);color:var(--color-success);line-height:1.3}.comm-agent-panel-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);min-height:0}.comm-agent-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--color-gray-400);font-size:var(--font-size-sm);text-align:center;padding:var(--space-4);gap:var(--space-2)}.comm-agent-panel-empty-title{font-weight:500;color:var(--color-gray-500)}.comm-agent-panel-msg{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);max-width:90%;font-size:var(--font-size-sm);line-height:1.5}.comm-agent-panel-msg-user{align-self:flex-end;background:var(--color-accent-light);color:var(--color-gray-700)}.comm-agent-panel-msg-assistant{align-self:flex-start;background:var(--color-gray-50);color:var(--color-gray-700)}.comm-agent-panel-msg-content{white-space:pre-wrap;word-break:break-word}.comm-agent-panel-msg-time{font-size:10px;color:var(--color-gray-400);align-self:flex-end}.comm-agent-panel-typing{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);color:var(--color-gray-400)}.comm-agent-panel-typing-dots{display:flex;gap:3px}.comm-agent-panel-typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--color-gray-300);animation:comm-typing-bounce 1.4s infinite ease-in-out both}.comm-agent-panel-typing-dots span:nth-child(1){animation-delay:0s}.comm-agent-panel-typing-dots span:nth-child(2){animation-delay:.16s}.comm-agent-panel-typing-dots span:nth-child(3){animation-delay:.32s}@keyframes comm-typing-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.comm-agent-panel-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);color:var(--color-danger-text);font-size:var(--font-size-xs);border-top:1px solid var(--color-danger-border);flex-shrink:0}.comm-agent-panel-error button{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-size-sm);padding:0 var(--space-1);line-height:1}.comm-agent-panel-input{display:flex;gap:var(--space-2);align-items:flex-end;padding:var(--space-3);border-top:1px solid var(--color-gray-100);flex-shrink:0}.comm-agent-panel-input textarea{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);resize:none;outline:none;min-height:36px;max-height:80px;line-height:1.4}.comm-agent-panel-input textarea:focus{border-color:var(--color-accent)}.comm-agent-panel-input button{flex-shrink:0}.comm-agent-fab{display:none}@media(max-width:900px){.comm-agent-panel{display:none}.comm-agent-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:var(--space-5);right:var(--space-5);width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-white);border:none;cursor:pointer;z-index:100;font-size:var(--font-size-xs);font-weight:600;transition:background .15s}.comm-agent-fab:hover{background:var(--color-accent-hover)}.comm-agent-sheet-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:200}.comm-agent-sheet{position:fixed;bottom:0;left:0;right:0;max-height:80vh;background:var(--bg-surface);border-top:1px solid var(--color-gray-200);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:201;display:flex;flex-direction:column}.comm-agent-sheet .comm-agent-panel{display:flex;border:none;border-radius:0;max-height:none;min-height:0;height:100%}.comm-agent-sheet .comm-agent-panel-messages{max-height:50vh}.comm-agent-sheet-close{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;padding:var(--space-1) var(--space-2);z-index:1}.comm-agent-sheet-close:hover{color:var(--color-gray-700)}}.comm-page-with-sidebar{display:grid;grid-template-columns:1fr 340px;gap:var(--space-4);height:100%}.comm-page-with-sidebar>.comm-page-main{min-width:0;overflow:auto}@media(max-width:900px){.comm-page-with-sidebar{grid-template-columns:1fr}}.comm-hub-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-5)}.comm-hub-tab{padding:var(--space-3) var(--space-5);border:none;background:none;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}@media(hover:hover){.comm-hub-tab:hover{color:var(--color-gray-700)}}.comm-hub-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.comm-agent-tab{max-width:800px}.comm-agent-tab-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-gray-400)}.comm-agent-tab-empty h3{font-size:var(--font-size-lg);color:var(--color-gray-500);margin-bottom:var(--space-2)}.comm-agent-tab-empty p{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.contacts-page{max-width:1200px}.contacts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.contacts-header-actions{display:flex;gap:var(--space-3)}.contacts-create-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s}@media(hover:hover){.contacts-create-btn:hover{opacity:.9}}.contacts-import-btn{padding:var(--space-2) var(--space-4);background:var(--bg-surface);color:var(--color-gray-600);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s}@media(hover:hover){.contacts-import-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}}.contacts-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.contacts-search{flex:1;min-width:200px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface)}.contacts-search:focus{outline:none;border-color:var(--color-accent)}.contacts-filters select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-600);background:var(--bg-surface)}.contacts-loading,.contacts-error{padding:var(--space-6);text-align:center;color:var(--color-gray-400)}.contacts-error{color:var(--color-danger)}.contacts-table{width:100%;border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.contacts-table th,.contacts-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm)}.contacts-table th{background:var(--color-gray-50);font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.contacts-table tr:last-child td{border-bottom:none}@media(hover:hover){.contacts-table tr:hover td{background:var(--color-gray-50)}}.contact-row{cursor:pointer}.contact-name-cell{display:flex;align-items:center;gap:var(--space-3)}.contact-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.contact-avatar.org{border-radius:var(--radius-sm);background:var(--color-gray-300)}.contact-name-text{display:flex;flex-direction:column}.contact-display-name{font-weight:500;color:var(--color-gray-700)}.contact-email{font-size:var(--font-size-xs);color:var(--color-gray-400)}.contact-tag{display:inline-block;padding:2px 8px;background:var(--color-gray-100);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-gray-600);margin-right:4px;margin-bottom:2px}.contact-attention-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.contact-attention-dot--high{background:var(--attention-high)}.contact-attention-dot--medium{background:var(--attention-medium)}.contact-attention-dot--low{background:var(--attention-low)}.contact-projects-count{font-size:var(--font-size-sm);color:var(--color-gray-500)}.contact-actions-cell{display:flex;gap:4px}.contact-action-link{padding:2px 6px;font-size:var(--font-size-xs);text-decoration:none}.contact-action-btn{padding:2px 6px;font-size:var(--font-size-xs);border:none;background:none;cursor:pointer;color:var(--color-gray-600)}.contacts-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-500)}.contacts-pagination-buttons{display:flex;gap:var(--space-2)}.contacts-pagination button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-600)}.contacts-pagination button:disabled{opacity:.5;cursor:not-allowed}@media(hover:hover){.contacts-pagination button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}}.contacts-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-gray-400)}.contacts-empty h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2);color:var(--color-gray-500)}.contacts-empty p{margin-bottom:var(--space-4)}.contacts-empty-cta{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer}@media(hover:none){.contact-avatar{min-width:44px;min-height:44px}}@media(max-width:767px){.comm-hub-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.comm-hub-tab{padding:var(--space-2) var(--space-3);white-space:nowrap;font-size:var(--font-size-xs)}.contacts-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.contacts-header-actions{width:100%}.contacts-header-actions button{flex:1}.contacts-filters{flex-direction:column}.contacts-search{min-width:0;width:100%}.contacts-pagination{flex-direction:column;gap:var(--space-2);text-align:center}}.template-selector{border:1px solid var(--color-gray-200);border-radius:var(--radius-md, 8px);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--bg-surface);max-height:400px;overflow:auto}.template-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.template-selector-title{margin:0;font-size:var(--font-size-base);color:var(--color-gray-700)}.template-selector-controls{display:flex;gap:var(--space-2);align-items:center}.template-selector-filter{padding:4px 8px;font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:4px}.template-selector-close-btn{font-size:var(--font-size-sm);padding:2px 8px;border:1px solid var(--color-gray-200);border-radius:4px;background:var(--bg-surface);cursor:pointer;color:var(--color-gray-600)}.template-selector-message{color:var(--color-gray-400);font-size:var(--font-size-sm)}.template-selector-list{display:flex;flex-direction:column;gap:var(--space-2)}.template-selector-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm, 4px);cursor:pointer}.template-selector-item-active{background:var(--color-accent-light)}.template-selector-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.template-selector-item-meta{font-size:var(--font-size-xs);color:var(--color-gray-400)}.template-selector-builtin{margin-left:var(--space-2);color:var(--color-accent)}.template-selector-use-btn{font-size:var(--font-size-xs);padding:2px 10px;border:1px solid var(--color-accent);border-radius:4px;background:var(--bg-surface);color:var(--color-accent);cursor:pointer}.template-selector-preview{padding:var(--space-3);background:var(--color-gray-50);border-radius:0 0 var(--radius-sm, 4px) var(--radius-sm, 4px);border:1px solid var(--color-gray-100);border-top:none;font-size:var(--font-size-sm)}.template-selector-preview-subject{margin-bottom:var(--space-2)}.template-selector-preview-label{color:var(--color-gray-600)}.template-selector-preview-value{color:var(--color-gray-500)}.template-selector-preview-body{white-space:pre-wrap;color:var(--color-gray-500)}.template-selector-preview-vars{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-400)}.panel-heading{margin:0 0 var(--space-3) 0;font-size:var(--font-size-base);color:var(--color-gray-700)}.compose-info{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-3)}.compose-info-reply{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-2)}.time-input{width:60px;text-align:center}.input-disabled{background:var(--color-gray-100)}.sms-char-counter{display:flex;justify-content:space-between;font-size:var(--font-size-xs);margin-top:var(--space-1);color:var(--color-gray-400)}.sms-char-counter--warn{color:var(--color-warning)}.status-badge{display:inline-block;padding:1px 8px;border-radius:9999px;font-size:var(--font-size-xs);font-weight:600}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-action{font-size:var(--font-size-xs);padding:2px 6px}.channel-filter-bar{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-200);padding-bottom:var(--space-2)}.channel-filter-btn{padding:4px 12px;font-size:var(--font-size-sm);border:none;border-radius:var(--radius-sm);cursor:pointer;background:transparent;color:var(--color-gray-500)}.channel-filter-btn--active{background:var(--color-gray-800);color:var(--color-white)}.timeline-recording-link{font-size:var(--font-size-xs);margin-right:var(--space-1)}.timeline-body{flex:1}.pagination-info{font-size:var(--font-size-sm);color:var(--color-gray-500);align-self:center}.btn-settings{background:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--font-size-sm)}.text-empty{color:var(--color-gray-400);font-size:var(--font-size-sm)}:root{--tone-cooperative: #5B8BA0;--tone-neutral: #6B7280;--tone-tense: #D4A843;--tone-adversarial: #9B3B3B}.tone-indicator{display:inline-flex;gap:2px;align-items:flex-end;height:16px;vertical-align:middle;cursor:default}.tone-indicator-bar{width:3px;border-radius:1px;background:var(--color-gray-200);transition:background-color .15s}.tone-indicator-bar--1{height:4px}.tone-indicator-bar--2{height:7px}.tone-indicator-bar--3{height:10px}.tone-indicator-bar--4{height:14px}.tone-indicator[data-tone=cooperative] .tone-indicator-bar--1,.tone-indicator[data-tone=cooperative] .tone-indicator-bar--2,.tone-indicator[data-tone=cooperative] .tone-indicator-bar--3,.tone-indicator[data-tone=cooperative] .tone-indicator-bar--4{background:var(--tone-cooperative)}.tone-indicator[data-tone=neutral] .tone-indicator-bar--1,.tone-indicator[data-tone=neutral] .tone-indicator-bar--2,.tone-indicator[data-tone=neutral] .tone-indicator-bar--3{background:var(--tone-neutral)}.tone-indicator[data-tone=tense] .tone-indicator-bar--1,.tone-indicator[data-tone=tense] .tone-indicator-bar--2{background:var(--tone-tense)}.tone-indicator[data-tone=adversarial] .tone-indicator-bar--1{background:var(--tone-adversarial)}.tone-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;line-height:1.4}.tone-badge--cooperative{background:#5b8ba01f;color:var(--tone-cooperative)}.tone-badge--neutral{background:var(--color-gray-100);color:var(--tone-neutral)}.tone-badge--tense{background:#d4a8431f;color:var(--tone-tense)}.tone-badge--adversarial{background:#9b3b3b1f;color:var(--tone-adversarial)}.tone-trend-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4)}.tone-trend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.tone-trend-header h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);margin:0}.tone-trend-summary{display:flex;gap:var(--space-2);align-items:center}.tone-trend-current{font-size:var(--font-size-sm);font-weight:600}.tone-trend-direction{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-sm);font-weight:500;background:var(--color-gray-100);color:var(--color-gray-500)}.tone-trend-direction--improving{background:#5b8ba01f;color:var(--tone-cooperative)}.tone-trend-direction--stable{background:var(--color-gray-100);color:var(--color-gray-500)}.tone-trend-direction--declining{background:#9b3b3b1f;color:var(--tone-adversarial)}.tone-trend-chart-container{margin-bottom:var(--space-2)}.tone-chart-tooltip{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-sm)}.tone-chart-tooltip-label{font-size:var(--font-size-xs);color:var(--color-gray-400)}.tone-chart-tooltip-tone{font-size:var(--font-size-sm);font-weight:600}.tone-chart-tooltip-channel{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:capitalize}.tone-trend-gauge{display:flex;gap:3px;height:6px;border-radius:3px;overflow:hidden}.tone-trend-gauge-segment{flex:1;border-radius:3px;min-width:12px}.contact-detail-page{max-width:1100px}.contact-detail-back{display:inline-block;margin-bottom:var(--space-4);color:var(--color-gray-400);font-size:var(--font-size-sm);cursor:pointer;text-decoration:none}@media(hover:hover){.contact-detail-back:hover{color:var(--color-accent)}}.contact-detail-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-5)}@media(max-width:800px){.contact-detail-layout{grid-template-columns:1fr}}.contact-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.contact-header-info{display:flex;gap:var(--space-4);align-items:flex-start}.contact-header-avatar{width:56px;height:56px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;flex-shrink:0}.contact-header-avatar.org{border-radius:var(--radius-md);background:var(--color-gray-300)}.contact-header-name{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-700);display:flex;align-items:center;gap:var(--space-2)}.contact-attention-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.contact-attention-indicator--high{background:var(--attention-high)}.contact-attention-indicator--medium{background:var(--attention-medium)}.contact-attention-indicator--low{background:var(--attention-low)}.contact-header-meta{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-top:var(--space-1)}.contact-header-links{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.contact-header-links a{font-size:var(--font-size-sm);color:var(--color-accent);text-decoration:none}@media(hover:hover){.contact-header-links a:hover{text-decoration:underline}}.contact-header-tags{display:flex;gap:4px;margin-top:var(--space-2);flex-wrap:wrap}.contact-header-tag{display:inline-block;padding:2px 10px;background:var(--color-gray-100);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-gray-600)}.contact-header-actions{display:flex;flex-direction:column}.contact-quick-actions{display:flex;gap:var(--space-1);margin-bottom:var(--space-2)}.contact-manage-actions{display:flex;gap:var(--space-1)}.contact-edit-btn{padding:var(--space-2) var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer}.contact-delete-btn{padding:var(--space-2) var(--space-3);background:var(--bg-surface);color:var(--color-danger);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer}.contact-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-4)}.contact-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-400);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}@media(hover:hover){.contact-tab:hover{color:var(--color-gray-600)}}.contact-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.contact-form-section{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.contact-form-section h3{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.contact-form-field{display:flex;flex-direction:column;gap:var(--space-1)}.contact-form-field.full{grid-column:1 / -1}.contact-form-field label{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500}.contact-form-field input,.contact-form-field select,.contact-form-field textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700)}.contact-form-field textarea{min-height:80px;resize:vertical}.contact-form-field input:focus,.contact-form-field select:focus,.contact-form-field textarea:focus{outline:none;border-color:var(--color-accent)}.contact-form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.contact-save-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.contact-cancel-btn{padding:var(--space-2) var(--space-4);background:var(--bg-surface);color:var(--color-gray-600);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer}.contact-projects-table{width:100%;border-collapse:collapse}.contact-projects-table th,.contact-projects-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm)}.contact-projects-table th{font-weight:600;color:var(--color-gray-500);font-size:var(--font-size-xs);text-transform:uppercase}.contact-project-name{color:var(--color-accent);text-decoration:none;font-weight:500}@media(hover:hover){.contact-project-name:hover{text-decoration:underline}}.contact-unlink-btn{padding:2px 8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-500);font-size:var(--font-size-xs);cursor:pointer}@media(hover:hover){.contact-unlink-btn:hover{color:var(--color-danger);border-color:var(--color-danger)}}@media(hover:none){.contact-unlink-btn{min-width:44px;min-height:44px}}.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.contact-sidebar-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4)}.contact-sidebar-card h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);margin-bottom:var(--space-3)}.contact-stat-row{display:flex;justify-content:space-between;padding:var(--space-1) 0;font-size:var(--font-size-sm)}.contact-stat-label{color:var(--color-gray-400)}.contact-stat-value{color:var(--color-gray-700);font-weight:500}.contact-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.contact-section-header h3{margin:0}.contact-section-filters{display:flex;gap:var(--space-2);align-items:center}.contact-doc-filter-select{padding:4px 8px;font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.contact-info-section-label{font-weight:600;margin-bottom:var(--space-1);display:block}.contact-form-row--align-center{align-items:center}.contact-form-field--fixed-label{flex:0 0 120px}.contact-notes-text{white-space:pre-wrap;font-size:var(--font-size-sm);color:var(--color-gray-600)}.contact-muted-text{color:var(--color-gray-400);font-size:var(--font-size-sm)}.contact-error-text{color:var(--color-danger);font-size:var(--font-size-sm)}.contact-task-name{font-weight:500;color:var(--color-gray-700)}.contact-task-status-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg-hover);font-weight:600;text-transform:capitalize}.contact-task-priority{text-transform:capitalize;font-size:var(--font-size-sm)}.contact-task-cell-sm{font-size:var(--font-size-sm)}.contact-task-due{font-size:var(--font-size-sm);color:var(--color-gray-500)}.contact-pagination{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm)}.contact-placeholder{text-align:center;padding:var(--space-8);color:var(--color-gray-400)}.ix-timeline{margin-bottom:var(--space-4)}.ix-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.ix-timeline-header h3{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin:0}.ix-filter-bar{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);flex-wrap:wrap}.ix-filter-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-gray-200);border-radius:14px;background:var(--bg-surface);color:var(--color-gray-500);font-size:var(--font-size-xs);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ix-filter-btn--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(hover:hover){.ix-filter-btn:hover:not(.ix-filter-btn--active){border-color:var(--color-accent);color:var(--color-accent)}}.ix-timeline-list{display:flex;flex-direction:column;gap:var(--space-3);border-left:2px solid var(--color-gray-200);padding-left:var(--space-4);margin-left:var(--space-2)}.ix-empty{text-align:center;padding:var(--space-8);color:var(--color-gray-400);font-size:var(--font-size-sm)}.ix-empty p{margin-bottom:var(--space-3)}.ix-card{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);position:relative}.ix-card:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - 7px);top:var(--space-3);width:10px;height:10px;border-radius:50%;background:var(--color-gray-300);border:2px solid var(--bg-surface)}.ix-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.ix-card-type{display:flex;align-items:center;gap:var(--space-1);font-weight:600;font-size:var(--font-size-sm)}.ix-card-type-label{font-size:var(--font-size-sm)}.ix-card-direction{font-size:var(--font-size-xs);color:var(--color-gray-400);padding:1px 6px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm)}.ix-card-time{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-left:auto}.ix-card-subject{font-weight:500;font-size:var(--font-size-sm);color:var(--color-gray-700);margin-bottom:var(--space-1)}.ix-card-notes{font-size:var(--font-size-sm);color:var(--color-gray-600);white-space:pre-wrap;line-height:1.5;margin-bottom:var(--space-2)}.ix-card-expand-btn{background:none;border:none;color:var(--color-accent);font-size:var(--font-size-xs);cursor:pointer;padding:0;margin-left:var(--space-1)}.ix-card-meta{display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.ix-card-meta-item{font-size:var(--font-size-xs);color:var(--color-gray-400)}.ix-card-facts{background:var(--color-gray-50);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.ix-card-facts-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.ix-card-facts-list{margin:0;padding-left:var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-600)}.ix-card-facts-list li{margin-bottom:2px}.ix-card-actions{display:flex;gap:var(--space-2)}.ix-card-action-btn{padding:2px 8px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-500);font-size:var(--font-size-xs);cursor:pointer}@media(hover:hover){.ix-card-action-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.ix-card-action-btn--danger:hover{border-color:var(--color-danger);color:var(--color-danger)}}.ix-dialog-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.ix-dialog{background:var(--bg-surface);border-radius:var(--radius-md);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.ix-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-gray-200)}.ix-dialog-header h3{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.ix-dialog-close{background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}@media(hover:hover){.ix-dialog-close:hover{color:var(--color-gray-600)}}.ix-dialog-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.ix-dialog-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.ix-dialog-field{display:flex;flex-direction:column;gap:var(--space-1)}.ix-dialog-field label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500)}.ix-dialog-field input,.ix-dialog-field select,.ix-dialog-field textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700)}.ix-dialog-field input:focus,.ix-dialog-field select:focus,.ix-dialog-field textarea:focus{outline:none;border-color:var(--color-accent)}.ix-dialog-field textarea{resize:vertical;min-height:80px}.ix-direction-toggle{display:flex;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden}.ix-direction-btn{flex:1;padding:var(--space-2);border:none;background:var(--bg-surface);color:var(--color-gray-500);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s,color .15s}.ix-direction-btn.active{background:var(--color-accent);color:#fff}.ix-direction-btn+.ix-direction-btn{border-left:1px solid var(--color-gray-200)}.ix-dialog-error{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.ix-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-200)}@media(max-width:767px){.contact-detail-layout{grid-template-columns:1fr}.contact-detail-header{flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.contact-header-actions{width:100%}.contact-header-actions button{flex:1}.contact-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.contact-tab{white-space:nowrap;flex-shrink:0}.contact-form-row{grid-template-columns:1fr}.contact-projects-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.doc-manager-page{position:relative;max-width:1400px}.doc-page-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-5)}.doc-page-main,.doc-page-sidebar{min-width:0}.doc-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:var(--space-4, 16px)}.doc-tab{padding:var(--space-2, 8px) var(--space-4, 16px);border:none;background:none;font-size:var(--font-size-sm, 14px);font-weight:500;color:var(--color-gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}@media(hover:hover){.doc-tab:hover{color:var(--color-gray-700)}}.doc-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.doc-tab-content{position:relative}.doc-tab-content.drag-over{outline:2px dashed var(--color-accent);outline-offset:-4px;border-radius:var(--radius-md, 8px)}.doc-expiration-banner{background:var(--color-warning-bg);color:var(--color-warning-text);padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, 14px);font-weight:600;margin-bottom:var(--space-3, 12px)}.doc-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4, 16px)}.doc-manager-header h2{margin:0;font-size:var(--font-size-xl, 20px);font-weight:700}.doc-upload-btn{background:var(--color-accent);color:var(--color-white);border:none;padding:var(--space-2, 8px) var(--space-4, 16px);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, 14px);font-weight:600;cursor:pointer}@media(hover:hover){.doc-upload-btn:hover{opacity:.9}}.doc-filters{display:flex;gap:var(--space-2, 8px);margin-bottom:var(--space-4, 16px);flex-wrap:wrap}.doc-filters select{padding:var(--space-1, 4px) var(--space-2, 8px);border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, 14px);background:var(--bg-surface)}.doc-loading,.doc-error,.doc-empty{text-align:center;padding:var(--space-8, 32px);color:var(--color-gray-500)}.doc-error{color:var(--color-danger)}.doc-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, 14px)}.doc-table th{text-align:left;padding:var(--space-2, 8px) var(--space-3, 12px);border-bottom:2px solid var(--border-color);font-weight:600;color:var(--color-gray-600);font-size:var(--font-size-xs, 12px);text-transform:uppercase;letter-spacing:.05em}.doc-table td{padding:var(--space-2, 8px) var(--space-3, 12px);border-bottom:1px solid var(--border-color)}@media(hover:hover){.doc-table tbody tr:hover{background:var(--color-gray-50)}}.doc-name-cell a{color:var(--color-accent);text-decoration:none;font-weight:500}@media(hover:hover){.doc-name-cell a:hover{text-decoration:underline}}.doc-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs, 12px);font-weight:500}.doc-status-received,.doc-status-filed{background:var(--color-info-bg);color:var(--color-info-text)}.doc-status-reviewed,.doc-status-signed{background:var(--color-success-bg);color:var(--color-success-text)}.doc-status-expired{background:var(--color-danger-bg);color:var(--color-danger-text)}.doc-actions{display:flex;gap:var(--space-2, 8px);align-items:center}.doc-action-link{color:var(--color-accent);text-decoration:none;font-size:var(--font-size-sm, 14px)}@media(hover:hover){.doc-action-link:hover{text-decoration:underline}}.doc-action-delete{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:var(--font-size-sm, 14px);padding:0}@media(hover:hover){.doc-action-delete:hover{text-decoration:underline}}.doc-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-3, 12px);padding:var(--space-4, 16px) 0;font-size:var(--font-size-sm, 14px)}.doc-pagination button{padding:var(--space-1, 4px) var(--space-3, 12px);border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);background:var(--bg-surface);cursor:pointer;font-size:var(--font-size-sm, 14px)}.doc-pagination button:disabled{opacity:.5;cursor:not-allowed}.doc-drag-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--color-accent) 10%,transparent);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--color-accent);border-radius:var(--radius-md, 8px);pointer-events:none}@media(max-width:900px){.doc-page-layout{grid-template-columns:1fr}}@media(max-width:767px){.doc-manager-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.doc-upload-btn{width:100%}.doc-filters{flex-direction:column}.doc-filters select{width:100%}.doc-pagination{flex-direction:column;gap:var(--space-2)}}.org-settings{max-width:800px;margin:0 auto;padding:1.5rem}.org-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #e0e0e0);margin-bottom:1.5rem}.org-tab{padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;font-size:.9rem;font-weight:500;color:var(--text-muted, #666);cursor:pointer;transition:all .15s ease}.org-tab:hover{color:var(--text-primary, #333)}.org-tab.active{color:var(--color-primary, #1a73e8);border-bottom-color:var(--color-primary, #1a73e8)}.org-tab-panel{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.org-section{margin-bottom:2rem}.org-section-title{font-size:1.1rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary, #333)}.org-divider{border:none;border-top:1px solid var(--border-color, #e0e0e0);margin:2rem 0}.org-form-group{margin-bottom:1rem}.org-form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary, #555);margin-bottom:.35rem}.org-form-group input,.org-form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #d0d0d0);border-radius:4px;font-size:.9rem;background:var(--bg-input, #fff);color:var(--text-primary, #333)}.org-form-group input:focus,.org-form-group select:focus{outline:none;border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 2px #1a73e826}.org-form-group input:disabled,.org-form-group input[readonly]{background:var(--bg-muted, #f5f5f5);cursor:not-allowed;color:var(--text-muted, #666)}.org-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.org-form-row{grid-template-columns:1fr}}.org-error{background:var(--bg-error, #fff0f0);border:1px solid var(--border-error, #ffcdd2);color:var(--text-error, #c62828);padding:.5rem .75rem;border-radius:4px;font-size:.85rem;margin-bottom:1rem}.org-success{background:var(--bg-success, #e8f5e9);border:1px solid var(--border-success, #c8e6c9);color:var(--text-success, #2e7d32);padding:.5rem .75rem;border-radius:4px;font-size:.85rem;margin-bottom:1rem}.org-btn-primary{padding:.5rem 1rem;background:var(--color-primary, #1a73e8);color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease}.org-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #1557b0)}.org-btn-primary:disabled{opacity:.6;cursor:not-allowed}.org-btn-secondary{padding:.5rem 1rem;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);border:1px solid var(--border-color, #d0d0d0);border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease}.org-btn-secondary:hover:not(:disabled){background:var(--bg-hover, #f5f5f5)}.org-btn-danger{padding:.5rem 1rem;background:var(--color-danger, #c62828);color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease}.org-btn-danger:hover:not(:disabled){background:var(--color-danger-dark, #a31f1f)}.org-btn-danger:disabled{opacity:.6;cursor:not-allowed}.org-invite-btn{padding:.5rem 1rem;background:var(--color-primary, #1a73e8);color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer}.org-invite-btn:hover{background:var(--color-primary-dark, #1557b0)}.org-invite-form{background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:1.25rem;margin-bottom:1.5rem}.org-invite-form h3{font-size:1rem;font-weight:600;margin:0 0 1rem}.org-invite-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.org-invite-fields input,.org-invite-fields select{padding:.5rem .6rem;border:1px solid var(--border-color, #d0d0d0);border-radius:4px;font-size:.85rem}.org-invite-actions{display:flex;gap:.5rem;justify-content:flex-end}.org-users-table{width:100%;border-collapse:collapse}.org-users-table th{text-align:left;padding:.6rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-muted, #666);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--border-color, #e0e0e0)}.org-users-table td{padding:.7rem .75rem;font-size:.9rem;border-bottom:1px solid var(--border-color-light, #f0f0f0);color:var(--text-primary, #333)}.org-users-table select{padding:.3rem .5rem;border:1px solid var(--border-color, #d0d0d0);border-radius:4px;font-size:.85rem}.org-you{color:var(--text-muted, #999);font-size:.8rem}.org-remove-btn{padding:.25rem .6rem;background:none;color:var(--text-error, #c62828);border:1px solid var(--border-error, #ffcdd2);border-radius:4px;font-size:.8rem;cursor:pointer}.org-remove-btn:hover{background:var(--bg-error, #fff0f0)}.org-danger-zone{border:2px solid var(--border-error, #ffcdd2);border-radius:6px;padding:1.5rem;background:var(--bg-error-subtle, #fff8f8)}.org-danger-zone h3{color:var(--text-error, #c62828);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.org-danger-zone p{color:var(--text-secondary, #555);font-size:.9rem;margin:0 0 1rem}.org-danger-actions{display:flex;gap:1rem;flex-wrap:wrap}.org-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.org-modal{background:var(--bg-primary, #fff);border-radius:8px;padding:1.5rem;max-width:450px;width:90%;box-shadow:0 4px 20px #00000026}.org-modal h3{font-size:1.1rem;font-weight:600;margin:0 0 .75rem;color:var(--text-error, #c62828)}.org-modal p{font-size:.9rem;color:var(--text-secondary, #555);margin:0 0 1rem}.org-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}@media(prefers-color-scheme:dark){.org-tab{color:var(--text-muted, #999)}.org-tab:hover{color:var(--text-primary, #e0e0e0)}.org-danger-zone{background:var(--bg-error-subtle, rgba(198, 40, 40, .1))}}@media(max-width:600px){.org-settings{padding:1rem}.org-tabs{overflow-x:auto}.org-invite-fields{grid-template-columns:1fr}.org-users-table{font-size:.85rem}.org-users-table th,.org-users-table td{padding:.5rem}}.cred-page{max-width:800px}.cred-page-title{font-size:var(--font-size-xl);font-weight:600;margin:0 0 4px}.cred-page-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:0 0 var(--space-5)}.cred-vault-warning{padding:var(--space-4) var(--space-5);background:var(--color-warning-bg, #fff8e6);border:1px solid var(--color-warning-border, #ffe0a0);border-radius:8px;margin-top:var(--space-4)}.cred-vault-warning-title{font-weight:600;margin:0 0 var(--space-2);color:var(--color-warning-text, #946200)}.cred-vault-warning code{background:var(--color-gray-100);padding:1px 4px;border-radius:3px;font-size:var(--font-size-sm)}.cred-list{border:1px solid var(--color-gray-200);border-radius:8px;overflow:hidden;margin-bottom:var(--space-6)}.cred-list-header{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--space-3);padding:10px 16px;background:var(--color-gray-50);font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px}.cred-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--color-gray-100)}.cred-row-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3);flex:1;align-items:center}.cred-row-provider{font-weight:500;font-size:var(--font-size-md)}.cred-row-label{font-size:var(--font-size-sm);color:var(--color-gray-500)}.cred-row-masked{font-family:monospace;font-size:var(--font-size-sm);color:var(--color-gray-400)}.cred-row-actions{display:flex;align-items:center;gap:var(--space-2)}.cred-action-btn{padding:4px 10px;background:none;border:1px solid var(--color-gray-200);border-radius:4px;font-size:var(--font-size-sm);cursor:pointer;color:var(--color-gray-600)}.cred-action-btn.save{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.cred-action-btn.danger{color:var(--color-danger);border-color:var(--color-danger)}@media(hover:hover){.cred-action-btn:hover{background:var(--color-gray-50)}.cred-action-btn.save:hover{background:var(--color-accent-hover)}}.cred-edit-inline{display:flex;align-items:center;gap:var(--space-2)}.cred-edit-inline input{padding:4px 8px;border:1px solid var(--color-gray-200);border-radius:4px;font-size:var(--font-size-sm);width:180px}.cred-confirm-delete{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500)}.cred-empty{padding:var(--space-5);text-align:center;color:var(--color-gray-400);border:1px dashed var(--color-gray-200);border-radius:8px;margin-bottom:var(--space-6)}.cred-add-form{padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:8px}.cred-form-title{font-size:var(--font-size-md);font-weight:600;margin:0 0 var(--space-4)}.cred-error{padding:8px 12px;background:var(--color-danger-bg, #fff0f0);border:1px solid var(--color-danger-border, #ffcccc);border-radius:4px;color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.cred-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-3)}.cred-form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.cred-form-field label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600)}.cred-form-field input,.cred-form-field select{padding:8px 10px;border:1px solid var(--color-gray-200);border-radius:6px;font-size:var(--font-size-md)}.cred-save-btn{padding:8px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:var(--font-size-md);font-weight:500;cursor:pointer}@media(hover:hover){.cred-save-btn:hover{background:var(--color-accent-hover)}}.cred-save-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.cred-form-row{grid-template-columns:1fr}.cred-list-header{display:none}.cred-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.cred-row-info{grid-template-columns:1fr;gap:2px}.cred-row-actions{width:100%;justify-content:flex-end}}.gcpw-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.gcpw-modal{background:var(--bg-surface);border-radius:var(--radius-lg);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026,0 0 0 1px var(--border-color);margin:var(--space-4)}.gcpw-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid var(--border-color)}.gcpw-header-left{display:flex;flex-direction:column;gap:var(--space-1)}.gcpw-step-indicator{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.gcpw-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);line-height:1.3}.gcpw-close-btn{padding:var(--space-1) var(--space-2);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-400);background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:color .15s,background-color .15s;flex-shrink:0}@media(hover:hover){.gcpw-close-btn:hover{color:var(--color-gray-600);background:var(--color-gray-50)}}.gcpw-body{padding:var(--space-5)}.gcpw-intro{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.6}.gcpw-guide-list{margin:0 0 var(--space-4);padding:0;list-style:none;counter-reset:guide-step}.gcpw-guide-list li{counter-increment:guide-step;position:relative;padding:var(--space-3) 0 var(--space-3) var(--space-8);border-bottom:1px solid var(--color-gray-100);display:flex;flex-direction:column;gap:var(--space-1)}.gcpw-guide-list li:last-child{border-bottom:none}.gcpw-guide-list li:before{content:counter(guide-step);position:absolute;left:0;top:var(--space-3);width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-radius:50%}.gcpw-guide-list li strong{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);line-height:1.4}.gcpw-guide-list li span{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.5}.gcpw-uri-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.gcpw-uri{flex:1;padding:var(--space-2) var(--space-3);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:var(--font-size-xs);color:var(--color-gray-600);background:var(--color-gray-50);border:1px solid var(--border-color);border-radius:var(--radius-sm);word-break:break-all;line-height:1.5}.gcpw-copy-btn{padding:var(--space-2) var(--space-3);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-xs);font-weight:500;color:var(--color-accent);background:var(--bg-surface);border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background-color .15s}@media(hover:hover){.gcpw-copy-btn:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}}.gcpw-form{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.gcpw-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);margin-top:var(--space-2)}.gcpw-label:first-child{margin-top:0}.gcpw-input{width:100%;padding:var(--space-2) var(--space-3);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:border-color .15s;box-sizing:border-box}.gcpw-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 12%,transparent)}.gcpw-input:disabled{opacity:.6;cursor:not-allowed}.gcpw-input::placeholder{color:var(--color-gray-300)}.gcpw-calendar-list{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.gcpw-calendar-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .1s;font-size:var(--font-size-sm);color:var(--color-gray-700)}@media(hover:hover){.gcpw-calendar-row:hover{background:var(--color-gray-50)}}.gcpw-calendar-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.gcpw-calendar-swatch{width:12px;height:12px;border-radius:50%;flex-shrink:0}.gcpw-calendar-name{flex:1;font-weight:500}.gcpw-calendar-badge{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-400)}.gcpw-success-text{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1.6;text-align:center;padding:var(--space-6) 0}.gcpw-loading-text{margin:0;font-size:var(--font-size-sm);color:var(--color-gray-400);text-align:center;padding:var(--space-8) 0}.gcpw-error{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-danger);line-height:1.5}.gcpw-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-gray-100)}.gcpw-btn{padding:var(--space-2) var(--space-4);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,opacity .15s;line-height:1.4;white-space:nowrap}.gcpw-btn:disabled{opacity:.5;cursor:not-allowed}.gcpw-btn--primary{color:var(--color-white);background:var(--color-accent)}@media(hover:hover){.gcpw-btn--primary:not(:disabled):hover{background:color-mix(in srgb,var(--color-accent) 85%,black)}}.gcpw-btn--secondary{color:var(--color-gray-600);background:var(--color-gray-100)}@media(hover:hover){.gcpw-btn--secondary:not(:disabled):hover{background:var(--color-gray-200)}}@media(max-width:767px){.gcpw-modal{margin:var(--space-2);max-height:95vh}.gcpw-header{padding:var(--space-4) var(--space-4) var(--space-3)}.gcpw-body{padding:var(--space-4)}.gcpw-uri-row{flex-direction:column;align-items:stretch}.gcpw-copy-btn{align-self:flex-start}}.usage-dashboard{max-width:720px}.usage-loading,.usage-error{color:var(--color-gray-400);font-size:var(--font-size-sm)}.usage-error{color:var(--color-danger)}.usage-period{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-bottom:var(--space-5)}.usage-warnings{margin-bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.usage-warning{padding:var(--space-2) var(--space-3);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-warning);font-size:var(--font-size-sm);font-weight:500}.usage-grid{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.usage-metric{display:flex;flex-direction:column;gap:var(--space-1)}.usage-metric-header{display:flex;justify-content:space-between;align-items:baseline}.usage-metric-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.usage-metric-value{font-size:var(--font-size-xs);color:var(--color-gray-400);font-variant-numeric:tabular-nums}.usage-bar-track{height:8px;background:var(--color-gray-100);border-radius:4px;overflow:hidden}.usage-bar-fill{height:100%;border-radius:4px;transition:width .3s ease;min-width:0}.usage-bar-ok{background-color:var(--color-success)}.usage-bar-warning{background-color:var(--color-warning)}.usage-bar-danger{background-color:var(--color-danger)}.usage-details{margin-bottom:var(--space-6)}.usage-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-3) 0}.usage-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.usage-detail-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-sm)}.usage-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.03em}.usage-detail-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);font-variant-numeric:tabular-nums}.usage-history{margin-bottom:var(--space-6)}.usage-history-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.usage-history-table th{text-align:left;font-weight:500;color:var(--color-gray-400);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.usage-history-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-600);font-variant-numeric:tabular-nums}.usage-history-table tbody tr:hover{background:var(--color-gray-50)}@media(max-width:600px){.usage-detail-grid{grid-template-columns:repeat(2,1fr)}}.settings-page{display:flex;height:100%;background-color:var(--bg-app);overflow:hidden}.settings-nav{width:220px;min-width:220px;background-color:var(--bg-surface);border-right:1px solid var(--border-color);padding:var(--space-3) var(--space-2);overflow-y:auto}.settings-nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background-color .12s,color .12s}@media(hover:hover){.settings-nav-item:hover{background-color:var(--bg-hover);color:var(--color-gray-700)}}.settings-nav-item.active{background-color:var(--color-accent);color:var(--color-white)}.settings-nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-content{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-8)}.settings-section{max-width:640px}.settings-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-1)}.settings-section-desc{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-bottom:var(--space-6)}.settings-group{margin-bottom:var(--space-6)}.settings-group-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-3)}.settings-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.settings-field label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600)}.settings-field input,.settings-field select,.settings-field textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);background-color:var(--bg-surface);transition:border-color .15s,box-shadow .15s}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #007aff1f}.settings-field input:disabled{background-color:var(--color-gray-50);color:var(--color-gray-400)}.settings-field-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.settings-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border-color-light)}.settings-toggle-label{font-size:var(--font-size-sm);color:var(--color-gray-600)}.settings-toggle-desc{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.settings-toggle{position:relative;width:38px;height:22px;flex-shrink:0}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-gray-200);border-radius:11px;transition:background-color .2s}.settings-toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;bottom:2px;background-color:var(--color-white);border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.settings-toggle input:checked+.settings-toggle-slider{background-color:var(--color-success)}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(16px)}.settings-save-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background-color:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .15s}@media(hover:hover){.settings-save-btn:hover{background-color:var(--color-accent-hover)}}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-success{color:var(--color-success-text);background-color:var(--color-success-bg);border:1px solid var(--color-success-border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.settings-error{color:var(--color-danger-text);background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.settings-about-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--border-color-light);font-size:var(--font-size-sm)}.settings-about-label{color:var(--color-gray-500)}.settings-about-value{color:var(--color-gray-700);font-weight:500}.settings-integration-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);background-color:var(--bg-surface)}.settings-integration-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.settings-integration-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.settings-integration-status{font-size:var(--font-size-xs);padding:2px var(--space-2);border-radius:var(--radius-sm)}.settings-integration-status.connected{background-color:var(--color-success-bg);color:var(--color-success-text)}.settings-integration-status.disconnected{background-color:var(--color-gray-100);color:var(--color-gray-400)}.theme-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(max-width:540px){.theme-cards{grid-template-columns:1fr}}.theme-card{display:flex;flex-direction:column;background:var(--bg-surface);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;position:relative;text-align:left;transition:border-color .15s,box-shadow .15s;padding:0}@media(hover:hover){.theme-card:hover{border-color:var(--color-gray-300)}}.theme-card.active{border:3px solid var(--primary-color, var(--color-accent))}.theme-card-preview{height:80px;overflow:hidden}[data-preview-theme=light]{--preview-bg: #f5f5f7;--preview-surface: #ffffff;--preview-text: #1d1d1f;--preview-accent: #007aff;--preview-border: rgba(0, 0, 0, .08)}[data-preview-theme=dark]{--preview-bg: #000000;--preview-surface: #1c1c1e;--preview-text: #f5f5f7;--preview-accent: #0a84ff;--preview-border: rgba(255, 255, 255, .12)}[data-preview-theme=high-contrast]{--preview-bg: #ffffff;--preview-surface: #ffffff;--preview-text: #000000;--preview-accent: #0055cc;--preview-border: rgba(0, 0, 0, .08)}.theme-card-preview-bg{height:100%;padding:var(--space-3);display:flex;align-items:flex-end;background-color:var(--preview-bg)}.theme-card-preview-auto{display:flex;height:100%}.theme-card-preview-half{flex:1;padding:var(--space-3);display:flex;align-items:flex-end;background-color:var(--preview-bg)}.theme-card-preview-half.light{border-right:1px solid var(--preview-border, rgba(0, 0, 0, .08))}.theme-card-preview-surface{width:100%;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--preview-border, rgba(0, 0, 0, .08));background-color:var(--preview-surface);display:flex;flex-direction:column;gap:4px}.theme-card-preview-accent{width:40%;height:6px;border-radius:3px;background-color:var(--preview-accent)}.theme-card-preview-line{width:70%;height:4px;border-radius:2px;background-color:var(--preview-text);opacity:.6}.theme-card-preview-line.short{width:50%;opacity:.4}.theme-card-info{padding:var(--space-3);display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border-color-light)}.theme-card-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);display:flex;align-items:center;gap:var(--space-2)}.theme-card-auto-indicator{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-400);background:var(--color-gray-100);padding:1px var(--space-2);border-radius:var(--radius-sm)}.theme-card-desc{font-size:var(--font-size-xs);color:var(--color-gray-400)}.theme-card-check{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;background:var(--color-accent);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center}.settings-credential-field{display:flex;align-items:center;gap:var(--space-3)}.settings-credential-field.editing{gap:var(--space-2)}.settings-credential-field.editing input{flex:1}.settings-credential-status{font-size:var(--font-size-sm);font-weight:500}.settings-credential-status.configured{color:var(--color-success-text)}.settings-credential-status.not-configured{color:var(--color-gray-400)}.settings-credential-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-accent);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3)}@media(hover:hover){.settings-credential-btn:hover{background-color:var(--bg-hover)}}.settings-credential-btn.save{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.settings-credential-btn.save:hover{background-color:var(--color-accent-hover)}}.settings-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-gray-400);font-size:var(--font-size-sm)}@media(max-width:767px){.settings-page{flex-direction:column;overflow:visible}.settings-nav{width:100%;min-width:0;border-right:none;border-bottom:1px solid var(--border-color);display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:var(--space-2);gap:var(--space-1)}.settings-nav-item{white-space:nowrap;flex-shrink:0}.settings-content{padding:var(--space-4)}.settings-field-row{grid-template-columns:1fr}.settings-credential-field{flex-direction:column;align-items:flex-start}.settings-integration-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.google-oauth-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-surface);color:var(--color-gray-400);font-size:var(--font-size-sm);cursor:not-allowed;opacity:.7;margin-bottom:var(--space-3)}.google-coming-soon-badge{font-size:var(--font-size-xs);background-color:var(--color-gray-100);color:var(--color-gray-500);padding:1px var(--space-2);border-radius:var(--radius-sm);font-weight:500}.google-advanced-section{border-top:1px solid var(--border-color-light);padding-top:var(--space-3)}.google-advanced-toggle{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--color-gray-500);font-size:var(--font-size-sm);cursor:pointer;padding:0}@media(hover:hover){.google-advanced-toggle:hover{color:var(--color-gray-700)}}.google-advanced-chevron{display:flex;transition:transform .15s}.google-advanced-chevron.expanded{transform:rotate(90deg)}.google-cred-form{margin-top:var(--space-3);padding-left:var(--space-4)}.google-cred-instructions{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-3)}.google-cred-instructions a{color:var(--color-accent);text-decoration:none}@media(hover:hover){.google-cred-instructions a:hover{text-decoration:underline}}.google-connection-info{display:flex;gap:var(--space-6);margin-bottom:var(--space-4)}.google-connection-detail{display:flex;flex-direction:column;gap:2px}.google-connection-label{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.04em}.google-connection-value{font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:500}.google-drive-quota{margin-bottom:var(--space-4)}.google-drive-quota-header{display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.google-drive-quota-label{font-size:var(--font-size-sm);color:var(--color-gray-500)}.google-drive-quota-value{font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:500}.google-drive-quota-bar{height:8px;background-color:var(--color-gray-100);border-radius:4px;overflow:hidden}.google-drive-quota-fill{height:100%;border-radius:4px;transition:width .3s}.google-drive-quota-fill.quota-ok{background-color:var(--color-success)}.google-drive-quota-fill.quota-warning{background-color:var(--color-warning)}.google-drive-quota-fill.quota-critical{background-color:var(--color-danger)}.google-drive-quota-pct{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px;display:block}.google-disconnect-btn{color:var(--color-danger-text);border-color:var(--color-danger-border)}@media(hover:hover){.google-disconnect-btn:hover{background-color:var(--color-danger-bg)}}.google-disconnect-overlay{position:fixed;inset:0;background-color:var(--overlay-bg, rgba(0, 0, 0, .4));display:flex;align-items:center;justify-content:center;z-index:1000}.google-disconnect-modal{background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-6);max-width:400px;width:90%;box-shadow:var(--shadow-lg, 0 4px 24px rgba(0, 0, 0, .15))}.google-disconnect-modal h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.google-disconnect-modal p{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-4)}.google-disconnect-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.google-disconnect-confirm{background-color:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}@media(hover:hover){.google-disconnect-confirm:hover{opacity:.9}}.setup-page{max-width:800px}.setup-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.setup-page-title{font-size:var(--font-size-xl);font-weight:600;margin:0 0 4px}.setup-page-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:0}.setup-undismiss-btn{padding:6px 14px;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:6px;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap}@media(hover:hover){.setup-undismiss-btn:hover{background:var(--color-gray-50)}}.setup-progress-bar{height:6px;background:var(--color-gray-100);border-radius:3px;overflow:hidden;margin-bottom:var(--space-6)}.setup-progress-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s ease}.setup-category{margin-bottom:var(--space-6)}.setup-category-title{font-size:var(--font-size-md);font-weight:600;margin:0 0 var(--space-3);color:var(--color-text)}.setup-step-list{display:flex;flex-direction:column;gap:1px;background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:8px;overflow:hidden}.setup-step{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-surface)}.setup-step-complete{opacity:.7}.setup-step-info{display:flex;align-items:center;gap:var(--space-3)}.setup-step-title{font-size:var(--font-size-md);font-weight:500}.setup-status{font-size:var(--font-size-xs);padding:2px 8px;border-radius:10px;font-weight:500}.setup-status-complete{background:var(--color-success-bg, #e8f8ed);color:var(--color-success-text, #1a7431)}.setup-status-incomplete{background:var(--color-gray-100);color:var(--color-gray-500)}.setup-status-skipped{background:var(--color-warning-bg, #fff8e6);color:var(--color-warning-text, #946200)}.setup-step-actions{display:flex;align-items:center;gap:var(--space-2)}.setup-step-go{padding:4px 12px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}@media(hover:hover){.setup-step-go:hover{background:var(--color-accent-hover)}}.setup-step-skip{padding:4px 10px;background:none;border:1px solid var(--color-gray-200);border-radius:4px;font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer}.setup-step-skip.confirm{color:var(--color-warning-text, #946200);border-color:var(--color-warning-border, #ffe0a0)}@media(hover:hover){.setup-step-skip:hover{background:var(--color-gray-50)}}.setup-confirm-skip{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500)}@media(max-width:600px){.setup-step{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.setup-step-actions{width:100%;justify-content:flex-end}}.ripple-log-page{padding:0}.ripple-log-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.ripple-log-header h2{margin:0 0 .25rem}.ripple-log-subtitle{color:var(--text-secondary, #666);font-size:.875rem;margin:0}.ripple-log-filters{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.ripple-log-filters select{padding:.375rem .75rem;border:1px solid var(--border, #ddd);border-radius:4px;font-size:.875rem;background:var(--surface, #fff)}.ripple-log-count{color:var(--text-secondary, #666);font-size:.875rem;margin-left:auto}.ripple-log-loading,.ripple-log-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary, #666)}.ripple-log-error{color:var(--danger, #dc3545);padding:1rem}.ripple-log-list{display:flex;flex-direction:column;gap:.5rem}.ripple-log-entry{border:1px solid var(--border, #e5e7eb);border-radius:6px;overflow:hidden;background:var(--surface, #fff)}.ripple-log-entry-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s}.ripple-log-entry-header:hover{background:var(--hover, #f9fafb)}.ripple-log-entry-info{display:flex;align-items:center;gap:.75rem}.ripple-log-path{font-weight:500;font-size:.875rem}.ripple-log-trigger{color:var(--text-secondary, #666);font-size:.8125rem;font-family:monospace}.ripple-log-entry-meta{display:flex;align-items:center;gap:1rem;font-size:.8125rem;color:var(--text-secondary, #666)}.ripple-log-duration{font-family:monospace}.ripple-log-detail{border-top:1px solid var(--border, #e5e7eb);padding:1rem;background:var(--bg-subtle, #f9fafb)}.ripple-log-error-detail{padding:.5rem .75rem;background:#fef2f2;border-radius:4px;color:#991b1b;font-size:.875rem;margin-bottom:.75rem}.ripple-log-data{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}@media(max-width:768px){.ripple-log-data{grid-template-columns:1fr}}.ripple-log-data-section h4{margin:0 0 .375rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #666)}.ripple-log-data-section pre{margin:0;padding:.5rem;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:4px;font-size:.75rem;overflow-x:auto;max-height:200px;overflow-y:auto}.ripple-log-actions{display:flex;justify-content:flex-end}.ripple-log-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem 0;font-size:.875rem;color:var(--text-secondary, #666)}.asset-form{display:flex;flex-direction:column;gap:var(--space-4)}.asset-form-error{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-bg, #ffe5e5);color:var(--color-danger);font-size:var(--font-size-sm);border:1px solid var(--color-danger-border, #fcc)}.asset-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group--full{grid-column:1 / -1}.asset-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-gray-100)}@media(max-width:640px){.asset-form-grid{grid-template-columns:1fr}}.asset-list{padding:var(--space-6);max-width:1200px}.asset-list-error{padding:var(--space-8);text-align:center;color:var(--color-danger)}.asset-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.asset-search{flex:1;min-width:200px}.asset-table-wrapper{overflow-x:auto;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-surface)}.asset-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.asset-table th,.asset-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-gray-100)}.asset-table th{font-weight:600;color:var(--color-gray-600);background:var(--color-gray-50);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.asset-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.asset-table th.sortable:hover{color:var(--color-gray-700)}.asset-row{cursor:pointer;transition:background-color .15s}.asset-row:hover{background-color:var(--color-gray-50)}.asset-name-cell{display:flex;flex-direction:column;gap:2px}.asset-name-text{font-weight:500;color:var(--color-gray-700)}.asset-serial-text{font-size:var(--font-size-xs);color:var(--color-gray-400)}.asset-category-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;background:var(--color-gray-100);color:var(--color-gray-600);text-transform:capitalize}.asset-status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize}.status--success{background:var(--color-success-bg);color:var(--color-success)}.status--info{background:var(--color-info-bg, #e5f4ff);color:var(--color-info, #5AC8FA)}.status--warning{background:var(--color-warning-bg);color:var(--color-warning)}.status--muted{background:var(--color-gray-100);color:var(--color-gray-400)}.asset-table-empty{text-align:center;padding:var(--space-8)!important;color:var(--color-gray-400)}.asset-actions-cell{white-space:nowrap}.text-right{text-align:right;font-variant-numeric:tabular-nums}.asset-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-4)}.maintenance-section{margin-top:var(--space-2)}.maintenance-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:768px){.maintenance-panels{grid-template-columns:1fr}}.maintenance-schedule-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.maintenance-schedule-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-gray-100);font-size:var(--font-size-sm)}.maintenance-schedule-item.overdue{border-color:var(--color-danger-border, #fcc);background:var(--color-danger-bg, #fff5f5)}.maintenance-schedule-item.due-soon{border-color:var(--color-warning-border, #fde68a);background:var(--color-warning-bg, #fffbeb)}.maintenance-schedule-task{flex:1;display:flex;flex-direction:column;gap:2px}.maintenance-task-name{font-weight:500;color:var(--color-gray-700)}.maintenance-schedule-dates{display:flex;flex-direction:column;gap:2px;text-align:right}.maintenance-alert{font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.overdue-badge{background:var(--color-danger-bg, #fff5f5);color:var(--color-danger)}.due-soon-badge{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.maintenance-log-form{padding:var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);margin-bottom:var(--space-4);background:var(--color-gray-50)}.maintenance-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:640px){.maintenance-form-grid{grid-template-columns:1fr}}.maintenance-form-actions{display:flex;justify-content:flex-end;margin-top:var(--space-3)}.maintenance-history-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.maintenance-history-item{padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-gray-100);font-size:var(--font-size-sm)}.maintenance-history-main{display:flex;justify-content:space-between;align-items:center}.maintenance-history-task{font-weight:500;color:var(--color-gray-700)}.maintenance-history-date{font-size:var(--font-size-xs);color:var(--color-gray-400)}.maintenance-history-meta{display:flex;gap:var(--space-3);margin-top:var(--space-1)}.maintenance-history-cost{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-600)}.maintenance-history-notes{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-500);line-height:1.4}.mt-2,.depreciation-section{margin-top:var(--space-2)}.depreciation-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:768px){.depreciation-panels{grid-template-columns:1fr}}.depreciation-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.depreciation-stat{display:flex;flex-direction:column;gap:2px}.depreciation-stat-label{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500}.depreciation-stat-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.depreciation-chart{margin-top:var(--space-3)}.depreciation-bars{display:flex;align-items:flex-end;gap:var(--space-2);height:200px;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-gray-200)}.depreciation-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);height:100%}.depreciation-bar-container{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.depreciation-bar{width:80%;max-width:40px;background:var(--color-accent-light, #e5f1ff);border:1px solid var(--color-accent, #007AFF);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height .3s ease;min-height:4px}.depreciation-bar.current-year{background:var(--color-accent, #007AFF)}.depreciation-bar-label{font-size:10px;color:var(--color-gray-400);writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);white-space:nowrap}@media(min-width:640px){.depreciation-bar-label{writing-mode:horizontal-tb;transform:none}}.depreciation-chart-legend{text-align:center;margin-top:var(--space-2)}.depreciation-table-wrapper{overflow-x:auto;margin-top:var(--space-3)}.depreciation-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.depreciation-table th,.depreciation-table td{padding:var(--space-2) var(--space-4);text-align:right;border-bottom:1px solid var(--color-gray-100)}.depreciation-table th:first-child,.depreciation-table td:first-child{text-align:left}.depreciation-table th{font-weight:600;color:var(--color-gray-600);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--color-gray-50)}.depreciation-table td{font-variant-numeric:tabular-nums}.current-year-row{background:var(--color-accent-light, #e5f1ff);font-weight:600}.mt-4{margin-top:var(--space-4)}.asset-detail{padding:var(--space-6);max-width:1200px}.asset-detail-loading,.asset-detail-error{padding:var(--space-8);text-align:center;color:var(--color-gray-400)}.asset-detail-error{color:var(--color-danger)}.asset-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.asset-detail-title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.asset-detail-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-700);margin:0}.asset-detail-actions{display:flex;gap:var(--space-2)}.asset-form-wrapper{margin-bottom:var(--space-6)}.asset-detail-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-6)}.asset-tab{padding:var(--space-2) var(--space-4);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.asset-tab:hover{color:var(--color-gray-700)}.asset-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.asset-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.asset-info-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);margin-top:var(--space-3)}.asset-info-dl dt{color:var(--color-gray-500);font-weight:500}.asset-info-dl dd{color:var(--color-gray-700);margin:0}.capitalize{text-transform:capitalize}.asset-assignment{margin-top:var(--space-3)}.mb-3{margin-bottom:var(--space-3)}.mt-2{margin-top:var(--space-2)}.cal-sidebar{width:220px;min-width:220px;border-left:1px solid var(--border-color);background:var(--bg-surface);display:flex;flex-direction:column;padding:var(--space-4) var(--space-3);gap:var(--space-5);overflow-y:auto;font-family:var(--font-family)}.cal-sidebar-section{display:flex;flex-direction:column;gap:var(--space-2)}.cal-sidebar-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.04em;margin:0}.cal-sidebar-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) 0}.cal-sidebar-row-name{font-size:var(--font-size-sm);color:var(--color-gray-700)}.cal-sidebar-cal-row{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-sm);transition:background .15s ease}.cal-sidebar-cal-row:hover{background:var(--bg-hover)}.cal-sidebar-cal-main{display:flex;align-items:flex-start;gap:var(--space-2)}.cal-sidebar-color-swatch{width:12px;height:12px;min-width:12px;border-radius:50%;margin-top:2px}.cal-sidebar-cal-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cal-sidebar-cal-name-row{display:flex;align-items:center;gap:var(--space-1);min-width:0}.cal-sidebar-cal-name{font-size:var(--font-size-sm);color:var(--color-gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cal-sidebar-provider-badge{font-size:var(--font-size-xs);color:var(--color-gray-400);white-space:nowrap;flex-shrink:0}.cal-sidebar-last-sync{font-size:var(--font-size-xs);color:var(--color-gray-400)}.cal-sidebar-reauth{font-size:var(--font-size-xs);color:var(--color-danger);font-weight:500}.cal-sidebar-muted{font-size:var(--font-size-sm);color:var(--color-gray-400);margin:0;padding:var(--space-1) 0}.cal-sidebar-cal-actions{display:flex;gap:var(--space-2);padding-left:20px}.cal-sidebar-action-btn{font-size:var(--font-size-xs);color:var(--color-accent);background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-family)}.cal-sidebar-action-btn:hover{color:var(--color-accent-hover)}.cal-sidebar-action-btn:disabled{opacity:.5;cursor:not-allowed}.cal-sidebar-action-btn--danger{color:var(--color-danger)}.cal-sidebar-action-btn--danger:hover{color:var(--color-danger);opacity:.8}.cal-sidebar-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.cal-sidebar-toggle input{position:absolute;opacity:0;width:0;height:0}.cal-sidebar-toggle-slider{width:36px;height:20px;background:var(--color-gray-300);border-radius:10px;position:relative;transition:background .2s ease}.cal-sidebar-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--bg-surface);border-radius:50%;transition:transform .2s ease;box-shadow:var(--shadow-sm)}.cal-sidebar-toggle input:checked+.cal-sidebar-toggle-slider{background:var(--color-accent)}.cal-sidebar-toggle input:checked+.cal-sidebar-toggle-slider:after{transform:translate(16px)}.cal-sidebar-actions{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-2)}.cal-sidebar-link-btn{font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-accent);background:var(--color-accent-light);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer;text-align:center;font-weight:500;transition:background .15s ease}.cal-sidebar-link-btn:hover{background:var(--bg-selected)}.cal-sidebar-link-btn--disabled{color:var(--color-gray-400);background:var(--color-gray-50);cursor:not-allowed}.cal-sidebar-link-btn--disabled:hover{background:var(--color-gray-50)}.cal-sidebar-link-btn--secondary{color:var(--color-gray-600);background:var(--color-gray-50)}.cal-sidebar-link-btn--secondary:hover{background:var(--color-gray-100)}.cal-sidebar-ical-form{display:flex;flex-direction:column;gap:var(--space-2)}.cal-sidebar-ical-input{width:100%;padding:var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-700)}.cal-sidebar-ical-input:focus{outline:none;border-color:var(--color-accent)}.cal-sidebar-ical-actions{display:flex;gap:var(--space-2)}.cal-sidebar-ical-btn{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family);font-weight:500;color:var(--color-white);background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.cal-sidebar-ical-btn:hover:not(:disabled){background:var(--color-accent-hover)}.cal-sidebar-ical-btn:disabled{opacity:.5;cursor:not-allowed}.cal-sidebar-ical-btn--cancel{color:var(--color-gray-600);background:var(--color-gray-100)}.cal-sidebar-ical-btn--cancel:hover{background:var(--color-gray-200)}.cal-sidebar-ical-error{margin:0;font-size:var(--font-size-xs);color:var(--color-danger)}.cal-sidebar-row-name--filter{font-size:var(--font-size-xs);color:var(--color-gray-500)}.cal-sidebar-rename-input{font-size:var(--text-sm);padding:2px 4px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);width:120px;outline:none}.cal-sidebar-color-picker-wrap{position:relative}.cal-sidebar-color-swatch--clickable{cursor:pointer}.cal-sidebar-color-swatch--clickable:hover{transform:scale(1.3)}.cal-sidebar-color-popup{position:absolute;top:100%;left:-4px;margin-top:4px;display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-md);z-index:20;width:140px;box-shadow:0 2px 8px #00000026}.cal-sidebar-color-option{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .1s}.cal-sidebar-color-option:hover{transform:scale(1.2)}.cal-sidebar-color-option--active{border-color:var(--text-primary)}.qc-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.qc-modal{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:400px;max-width:90vw}.qc-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;border-bottom:1px solid var(--border-primary)}.qc-header h3{margin:0;font-size:var(--text-lg)}.qc-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:4px 8px}.qc-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.qc-field{display:flex;flex-direction:column;gap:4px}.qc-field label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.qc-value{font-size:var(--text-sm);color:var(--text-primary)}.qc-select{padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-sm)}.qc-error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.qc-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border-primary)}.qc-btn{padding:8px 16px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid var(--border-primary)}.qc-btn--cancel{background:var(--bg-surface);color:var(--text-primary)}.qc-btn--create{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.qc-btn--create:hover{opacity:.9}.qc-btn:disabled{opacity:.5;cursor:not-allowed}.cal-container{display:flex;flex-direction:column;gap:var(--space-3)}.cal-top-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.cal-loading{text-align:center;padding:var(--space-8);color:var(--color-gray-400);font-size:var(--font-size-sm)}.cal-error{text-align:center;padding:var(--space-8);color:var(--color-danger);font-size:var(--font-size-sm)}.cal-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.cal-toolbar-nav{display:flex;align-items:center;gap:var(--space-1)}.cal-toolbar-btn{padding:var(--space-1) var(--space-2);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;line-height:1.4;transition:background-color .15s}@media(hover:hover){.cal-toolbar-btn:hover{background:var(--color-gray-50)}}.cal-toolbar-today{font-size:var(--font-size-xs)}.cal-toolbar-label{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0;white-space:nowrap}.cal-toolbar-views{display:flex;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.cal-toolbar-view-btn{padding:var(--space-1) var(--space-2);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);background:var(--bg-surface);border:none;border-right:1px solid var(--border-color);cursor:pointer;transition:background-color .15s,color .15s}.cal-toolbar-view-btn:last-child{border-right:none}.cal-toolbar-view-btn--active{color:var(--color-gray-700);background:var(--color-gray-100);font-weight:600}@media(hover:hover){.cal-toolbar-view-btn:not(.cal-toolbar-view-btn--active):hover{background:var(--color-gray-50)}}.cal-month-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-color)}.cal-month-day-name{padding:var(--space-2);text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.cal-month-grid{border:1px solid var(--border-color);border-top:none}.cal-month-week{display:grid;grid-template-columns:repeat(7,1fr)}.cal-month-cell{min-height:100px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:var(--space-1);cursor:pointer;transition:background-color .1s}.cal-month-cell:last-child{border-right:none}@media(hover:hover){.cal-month-cell:hover{background:var(--color-gray-50)}}.cal-month-cell--outside{background:var(--color-gray-50)}.cal-month-cell--outside .cal-month-date{color:var(--color-gray-300)}.cal-month-cell--today .cal-month-date{color:var(--color-white);background:var(--color-accent);border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.cal-month-date{display:inline-block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);margin-bottom:var(--space-1)}.cal-month-activities{display:flex;flex-direction:column;gap:1px}.cal-month-more{font-size:11px;color:var(--color-accent);background:none;border:none;cursor:pointer;text-align:left;padding:1px 4px;font-weight:500}@media(hover:hover){.cal-month-more:hover{text-decoration:underline}}.cal-week{overflow-y:auto;max-height:calc(100vh - 220px);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.cal-week-header{display:grid;grid-template-columns:var(--cal-time-gutter-width, 60px) repeat(7,1fr);border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-surface);z-index:10}.cal-week-gutter-header{padding:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-400);text-align:center;border-right:1px solid var(--border-color)}.cal-week-day-header{padding:var(--space-2);text-align:center;border-right:1px solid var(--border-color)}.cal-week-day-header:last-child{border-right:none}.cal-week-day-header--today{background:color-mix(in srgb,var(--color-accent) 5%,transparent)}.cal-week-day-name{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-400);text-transform:uppercase}.cal-week-day-num{display:block;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.cal-week-day-header--today .cal-week-day-num{color:var(--color-accent)}.cal-week-allday{display:grid;grid-template-columns:var(--cal-time-gutter-width, 60px) repeat(7,1fr);border-bottom:1px solid var(--border-color);min-height:32px}.cal-week-allday-cell{padding:2px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:1px}.cal-week-allday-cell:last-child{border-right:none}.cal-week-body{display:grid;grid-template-columns:var(--cal-time-gutter-width, 60px) repeat(7,1fr);position:relative}.cal-week-gutter{border-right:1px solid var(--border-color)}.cal-week-gutter-label{font-size:11px;color:var(--color-gray-400);text-align:right;padding-right:var(--space-2);position:relative;top:-6px;-webkit-user-select:none;user-select:none}.cal-week-day-col{position:relative;border-right:1px solid var(--border-color);cursor:crosshair}.cal-week-day-col:last-child{border-right:none}.cal-week-day-col--today{background:color-mix(in srgb,var(--color-accent) 3%,transparent)}.cal-week-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border-color);pointer-events:none}.cal-week-now-line{position:absolute;left:-4px;right:0;height:2px;background:var(--color-danger);z-index:5;pointer-events:none}.cal-week-now-line:before{content:"";position:absolute;left:0;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--color-danger)}.cal-week-drag-ghost{position:absolute;left:2px;right:2px;background:color-mix(in srgb,var(--color-accent) 15%,transparent);border:1px dashed var(--color-accent);border-radius:var(--radius-sm);pointer-events:none;z-index:4}.cal-day{overflow-y:auto;max-height:calc(100vh - 220px);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.cal-day-allday{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color)}.cal-day-allday-label{font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:500;white-space:nowrap;min-width:var(--cal-time-gutter-width, 60px)}.cal-day-allday-items{display:flex;gap:var(--space-1);flex-wrap:wrap}.cal-day-body{display:grid;grid-template-columns:var(--cal-time-gutter-width, 60px) 1fr;position:relative}.cal-day-col{position:relative;cursor:crosshair}.cal-block{padding:2px 6px;border-radius:3px;font-size:11px;line-height:1.3;cursor:pointer;overflow:hidden;border-left:3px solid transparent;transition:opacity .15s;-webkit-user-select:none;user-select:none;z-index:3}.cal-block--work{background:var(--color-activity-work-bg);border-left-color:var(--color-activity-work);color:var(--color-activity-work)}.cal-block--meeting{background:var(--color-activity-meeting-bg);border-left-color:var(--color-activity-meeting);color:var(--color-activity-meeting)}.cal-block--call{background:var(--color-activity-call-bg);border-left-color:var(--color-activity-call);color:var(--color-activity-call)}.cal-block--follow-up{background:var(--color-activity-follow-up-bg);border-left-color:var(--color-activity-follow-up);color:var(--color-activity-follow-up)}.cal-block--inspection{background:var(--color-activity-inspection-bg);border-left-color:var(--color-activity-inspection);color:var(--color-activity-inspection)}.cal-block--delivery{background:var(--color-activity-delivery-bg);border-left-color:var(--color-activity-delivery);color:var(--color-activity-delivery)}.cal-block--deadline{background:var(--color-activity-deadline-bg);border-left-color:var(--color-activity-deadline);color:var(--color-activity-deadline)}.cal-block--travel{background:var(--color-activity-travel-bg);border-left-color:var(--color-activity-travel);color:var(--color-activity-travel)}.cal-block--review{background:var(--color-activity-review-bg);border-left-color:var(--color-activity-review);color:var(--color-activity-review)}.cal-block--training{background:var(--color-activity-training-bg);border-left-color:var(--color-activity-training);color:var(--color-activity-training)}.cal-block--site-visit{background:var(--color-activity-site-visit-bg);border-left-color:var(--color-activity-site-visit);color:var(--color-activity-site-visit)}.cal-block--admin{background:var(--color-activity-admin-bg);border-left-color:var(--color-activity-admin);color:var(--color-activity-admin)}.cal-block--in-progress{animation:cal-pulse 2s ease-in-out infinite}@keyframes cal-pulse{0%,to{opacity:1}50%{opacity:.7}}.cal-block--completed{opacity:.5}.cal-block--skipped,.cal-block--cancelled{opacity:.4;text-decoration:line-through}.cal-block--compact{white-space:nowrap;text-overflow:ellipsis;padding:1px 4px;font-size:11px}.cal-block--personal{border-left-width:4px}.cal-block-you-badge{display:inline-block;margin-left:var(--space-1);padding:0 4px;font-size:9px;font-weight:600;color:var(--color-white);background:var(--color-accent);border-radius:3px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px}@media(hover:hover){.cal-block:hover{filter:brightness(.95)}}.cal-block-title{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis}.cal-block-time{display:block;font-size:10px;opacity:.8}.cal-block-location{display:block;font-size:10px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-context-menu{position:fixed;z-index:1000;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-1) 0;min-width:180px}.cal-context-header{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.cal-context-status{font-size:var(--font-size-xs);font-weight:400;color:var(--color-gray-400)}.cal-context-divider{height:1px;background:var(--color-gray-100);margin:var(--space-1) 0}.cal-context-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;background:none;font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;color:var(--color-gray-700);cursor:pointer;transition:background-color .1s}@media(hover:hover){.cal-context-item:hover{background-color:var(--color-gray-50)}}.cal-context-item--danger{color:var(--color-danger)}.cal-user-selector{display:flex;align-items:center;gap:var(--space-1);position:relative;flex-wrap:wrap}.cal-user-chip{display:inline-flex;align-items:center;gap:2px;padding:0;border:2px solid;border-radius:20px;font-size:var(--font-size-xs);background:var(--bg-surface)}.cal-user-chip--hidden{opacity:.4}.cal-user-chip-toggle{padding:2px 6px;background:none;border:none;cursor:pointer;font-size:11px;font-weight:600;color:var(--color-gray-600);font-family:Inter,-apple-system,sans-serif}.cal-user-chip-remove{padding:2px 4px;background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-gray-400);font-family:Inter,-apple-system,sans-serif}@media(hover:hover){.cal-user-chip-remove:hover{color:var(--color-danger)}}.cal-user-add-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;color:var(--color-accent);background:none;border:1px dashed var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;font-family:Inter,-apple-system,sans-serif;white-space:nowrap;transition:background-color .15s}@media(hover:hover){.cal-user-add-btn:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}}.cal-user-dropdown{position:absolute;top:100%;right:0;width:240px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:100;overflow:hidden;margin-top:var(--space-1)}.cal-user-search{width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;outline:none;background:var(--bg-surface);color:var(--color-gray-700)}.cal-user-list{max-height:200px;overflow-y:auto}.cal-user-list-empty{padding:var(--space-3);text-align:center;font-size:var(--font-size-xs);color:var(--color-gray-400)}.cal-user-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;color:var(--color-gray-700);transition:background-color .1s}@media(hover:hover){.cal-user-option:hover{background:var(--color-gray-50)}}.cal-user-avatar{width:24px;height:24px;border-radius:50%;background:var(--color-gray-100);color:var(--color-gray-500);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0}@media(max-width:767px){.cal-top-bar{flex-direction:column;align-items:stretch}.cal-toolbar{flex-wrap:wrap;justify-content:center}.cal-toolbar-label{font-size:var(--font-size-sm);text-align:center;flex-basis:100%;order:-1;margin-bottom:var(--space-1)}.cal-month-cell{min-height:48px;padding:2px}.cal-month-day-name{font-size:10px}.cal-month-activities .cal-block{height:4px;width:4px;border-radius:50%;padding:0;min-width:4px;border-left:none}.cal-month-activities .cal-block-title,.cal-month-activities .cal-block-time,.cal-month-activities .cal-block-location{display:none}.cal-month-activities{flex-direction:row;flex-wrap:wrap;gap:2px;justify-content:center}.cal-month-more{font-size:9px}.cal-week-header,.cal-week-body,.cal-week-allday{grid-template-columns:var(--cal-time-gutter-width, 50px) repeat(7,minmax(100px,1fr));overflow-x:auto}.cal-week{overflow:auto}.cal-day-body{grid-template-columns:45px 1fr}.cal-user-selector{justify-content:center}}.cal-block--external{border-left-style:dashed!important;cursor:pointer}.cal-ext-provider{display:inline-block;margin-left:var(--space-1);font-size:9px;font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.ext-event-detail-overlay{position:fixed;inset:0;background:#0000004d;z-index:1000;display:flex;align-items:center;justify-content:center}.ext-event-detail{background:var(--bg-surface);border-radius:var(--radius-lg);width:440px;max-width:90vw;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column}.ext-event-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid var(--border-color)}.ext-event-detail-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);line-height:1.3}.ext-event-detail-provider{display:block;font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--space-1)}.ext-event-detail-close{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-family:Inter,-apple-system,sans-serif;white-space:nowrap;flex-shrink:0}@media(hover:hover){.ext-event-detail-close:hover{background:var(--color-gray-50)}}.ext-event-detail-body{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.ext-event-detail-row{display:flex;gap:var(--space-3)}.ext-event-detail-row--block{flex-direction:column;gap:var(--space-1)}.ext-event-detail-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-400);min-width:80px;flex-shrink:0}.ext-event-detail-value{font-size:var(--font-size-sm);color:var(--color-gray-700)}.ext-event-detail-status{text-transform:capitalize}.ext-event-detail-desc{margin:0;font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1.5;white-space:pre-wrap;max-height:200px;overflow-y:auto}.ext-event-detail-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color)}.ext-event-detail-footer-actions{display:flex;align-items:center;gap:var(--space-3)}.ext-event-detail-create-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;font-family:Inter,-apple-system,sans-serif;color:var(--color-white);background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.ext-event-detail-create-btn:hover{background:var(--color-accent-hover)}.ext-event-detail-readonly{font-size:var(--font-size-xs);color:var(--color-gray-400);font-style:italic}.ext-event-detail-link{font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent);text-decoration:none}@media(hover:hover){.ext-event-detail-link:hover{text-decoration:underline}}.cal-layout{display:flex;gap:0}.cal-layout-main{flex:1;min-width:0}.cal-layout-sidebar{flex-shrink:0}.cal-block-add-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:var(--color-accent);color:#fff;font-size:13px;font-weight:700;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center;padding:0;z-index:5}.cal-block:hover .cal-block-add-btn{opacity:1}.cal-block-add-btn:hover{background:var(--color-accent-hover, var(--color-accent));transform:scale(1.15)}.wp-container{display:flex;flex-direction:column;gap:var(--space-3)}.wp-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.wp-toolbar-nav{display:flex;align-items:center;gap:var(--space-1)}.wp-toolbar-btn{padding:var(--space-1) var(--space-2);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;line-height:1.4;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s}@media(hover:hover){.wp-toolbar-btn:hover{background:var(--color-gray-50)}}.wp-toolbar-label{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0;white-space:nowrap}.wp-toolbar-views{display:flex;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;margin-left:auto}.wp-view-btn{padding:var(--space-1) var(--space-3);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500);background:var(--bg-surface);border:none;border-right:1px solid var(--border-color);cursor:pointer;min-height:44px;transition:background-color .15s,color .15s}.wp-view-btn:last-child{border-right:none}.wp-view-btn--active{color:var(--color-gray-700);background:var(--color-gray-100);font-weight:600}@media(hover:hover){.wp-view-btn:not(.wp-view-btn--active):hover{background:var(--color-gray-50)}}.wp-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-gray-50);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-600);flex-wrap:wrap}.wp-stats-label{font-weight:600;color:var(--color-gray-700)}.wp-stats-item{white-space:nowrap}.wp-stats-num{font-weight:600}.wp-loading{text-align:center;padding:var(--space-8);color:var(--color-gray-400);font-size:var(--font-size-sm)}.wp-error{text-align:center;padding:var(--space-8);color:var(--color-danger);font-size:var(--font-size-sm)}.wp-weekly{display:flex;gap:var(--space-3)}.wp-weekly-lanes{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.wp-day-lane{border-right:1px solid var(--border-color);min-height:500px;display:flex;flex-direction:column;transition:background-color .15s}.wp-day-lane:last-child{border-right:none}.wp-day-lane--today{background:color-mix(in srgb,var(--color-accent) 3%,transparent)}.wp-day-lane--drag-over{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.wp-day-header{padding:var(--space-2);border-bottom:1px solid var(--border-color);text-align:center;position:sticky;top:0;background:var(--bg-surface);z-index:2}.wp-day-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-1)}.wp-day-info{flex:1;text-align:center}.wp-day-add-btn{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-accent);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}@media(hover:hover){.wp-day-add-btn:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-color:var(--color-accent)}}.wp-day-lane--today .wp-day-header{background:color-mix(in srgb,var(--color-accent) 5%,transparent)}.wp-day-name{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.wp-day-num{display:block;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.wp-day-lane--today .wp-day-num{color:var(--color-accent)}.wp-day-completion{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.wp-day-progress{height:3px;background:var(--color-gray-100);border-radius:2px;margin:var(--space-1) var(--space-2) 0;overflow:hidden}.wp-day-progress-fill{height:100%;background:var(--color-success);border-radius:2px;transition:width .3s ease}.wp-day-cards{flex:1;padding:var(--space-1);display:flex;flex-direction:column;gap:var(--space-1);min-height:60px}.wp-day-empty{flex:1;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-gray-200);border-radius:var(--radius-sm);margin:var(--space-1);color:var(--color-gray-300);font-size:var(--font-size-xs);min-height:60px}.wp-day-empty--clickable{cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}@media(hover:hover){.wp-day-empty--clickable:hover{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,transparent)}}.wp-card{padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-color);border-left:3px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s;position:relative}.wp-card--dragging{opacity:.5}.wp-card--ghost{opacity:.7;transform:scale(1.02)}.wp-card--work{border-left-color:var(--color-activity-work)}.wp-card--meeting{border-left-color:var(--color-activity-meeting)}.wp-card--call{border-left-color:var(--color-activity-call)}.wp-card--follow-up{border-left-color:var(--color-activity-follow-up)}.wp-card--inspection{border-left-color:var(--color-activity-inspection)}.wp-card--delivery{border-left-color:var(--color-activity-delivery)}.wp-card--deadline{border-left-color:var(--color-activity-deadline)}.wp-card--travel{border-left-color:var(--color-activity-travel)}.wp-card--review{border-left-color:var(--color-activity-review)}.wp-card--training{border-left-color:var(--color-activity-training)}.wp-card--site-visit{border-left-color:var(--color-activity-site-visit)}.wp-card--admin{border-left-color:var(--color-activity-admin)}.wp-card--completed{opacity:.55}.wp-card--skipped,.wp-card--cancelled{opacity:.4}.wp-card--skipped .wp-card-title,.wp-card--cancelled .wp-card-title{text-decoration:line-through}.wp-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-1)}.wp-card-status{flex-shrink:0;font-size:var(--font-size-sm);line-height:1;cursor:pointer;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center}.wp-card-title{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-700);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1}.wp-card-badge{flex-shrink:0;font-size:10px;font-weight:500;padding:1px 4px;border-radius:3px;white-space:nowrap}.wp-card-time{font-size:10px;color:var(--color-gray-400);margin-top:2px}.wp-card-subtitle{font-size:10px;color:var(--color-gray-400);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-unplanned{width:220px;flex-shrink:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;max-height:500px}.wp-unplanned-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.wp-unplanned-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin:0}.wp-unplanned-actions{display:flex;align-items:center;gap:var(--space-2)}.wp-unplanned-count{font-size:var(--font-size-xs);color:var(--color-gray-400)}.wp-unplanned-add-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-accent);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}@media(hover:hover){.wp-unplanned-add-btn:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-color:var(--color-accent)}}.wp-unplanned-search{width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;outline:none;background:var(--bg-surface);color:var(--color-gray-700)}.wp-unplanned-list{flex:1;overflow-y:auto;padding:var(--space-1);display:flex;flex-direction:column;gap:var(--space-1)}.wp-unplanned-empty{padding:var(--space-4);text-align:center;font-size:var(--font-size-xs);color:var(--color-gray-400)}.wp-daily{display:flex;flex-direction:column;gap:var(--space-3)}.wp-day-tabs{display:flex;gap:var(--space-1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:var(--space-1) 0}.wp-day-tabs::-webkit-scrollbar{display:none}.wp-day-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;min-width:56px;min-height:44px;font-family:Inter,-apple-system,sans-serif;transition:background-color .15s,border-color .15s;flex-shrink:0}.wp-day-tab--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,transparent)}.wp-day-tab--today{border-color:var(--color-accent)}@media(hover:hover){.wp-day-tab:not(.wp-day-tab--active):hover{background:var(--color-gray-50)}}.wp-day-tab-name{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-400);text-transform:uppercase}.wp-day-tab--active .wp-day-tab-name{color:var(--color-accent)}.wp-day-tab-num{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.wp-day-tab--active .wp-day-tab-num{color:var(--color-accent)}.wp-day-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--color-gray-200)}.wp-day-tab-dot--complete{background:var(--color-success)}.wp-day-tab-dot--partial{background:var(--color-warning)}.wp-day-tab-dot--none{background:transparent}.wp-daily-date{text-align:center;font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500}.wp-daily-cards{display:flex;flex-direction:column;gap:var(--space-2)}.wp-daily-empty{text-align:center;padding:var(--space-8);color:var(--color-gray-400);font-size:var(--font-size-sm);border:1px dashed var(--color-gray-200);border-radius:var(--radius-sm)}.wp-dcard{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-left:4px solid transparent;border-radius:var(--radius-sm);min-height:44px;cursor:pointer;transition:background-color .15s;position:relative;overflow:hidden;touch-action:pan-y}.wp-dcard--work{border-left-color:var(--color-activity-work)}.wp-dcard--meeting{border-left-color:var(--color-activity-meeting)}.wp-dcard--call{border-left-color:var(--color-activity-call)}.wp-dcard--follow-up{border-left-color:var(--color-activity-follow-up)}.wp-dcard--inspection{border-left-color:var(--color-activity-inspection)}.wp-dcard--delivery{border-left-color:var(--color-activity-delivery)}.wp-dcard--deadline{border-left-color:var(--color-activity-deadline)}.wp-dcard--travel{border-left-color:var(--color-activity-travel)}.wp-dcard--review{border-left-color:var(--color-activity-review)}.wp-dcard--training{border-left-color:var(--color-activity-training)}.wp-dcard--site-visit{border-left-color:var(--color-activity-site-visit)}.wp-dcard--admin{border-left-color:var(--color-activity-admin)}.wp-dcard--completed{opacity:.6}.wp-dcard--skipped,.wp-dcard--cancelled{opacity:.45}.wp-dcard--skipped .wp-dcard-title,.wp-dcard--cancelled .wp-dcard-title{text-decoration:line-through}.wp-dcard--overdue{border-color:var(--color-danger);border-left-color:var(--color-danger)}.wp-dcard-status{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s}@media(hover:hover){.wp-dcard-status:hover{background:var(--color-gray-50)}}.wp-dcard-body{flex:1;min-width:0}.wp-dcard-top-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.wp-dcard-time{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:500}.wp-dcard-time--overdue{color:var(--color-danger)}.wp-dcard-badge{font-size:10px;font-weight:500;padding:1px 6px;border-radius:3px;white-space:nowrap}.wp-dcard-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);line-height:1.4;margin-top:2px}.wp-dcard-subtitle{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-dcard-overdue-prompt{margin-top:var(--space-2);padding:var(--space-2);background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-danger-text);cursor:pointer}.wp-dcard-expand{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-color)}.wp-dcard-description{font-size:var(--font-size-xs);color:var(--color-gray-500);line-height:1.5;margin:0}.wp-dcard-linked{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-top:var(--space-2)}.wp-dcard-chip{font-size:10px;padding:2px 6px;border:1px solid var(--border-color);border-radius:3px;color:var(--color-gray-500)}.wp-dcard-swipe-left,.wp-dcard-swipe-right{position:absolute;top:0;bottom:0;width:80px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-white)}.wp-dcard-swipe-right{left:0;background:var(--color-success)}.wp-dcard-swipe-left{right:0;background:var(--color-danger)}.wp-dcard-content{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;position:relative;transition:transform .15s ease;background:var(--bg-surface);z-index:1}.wp-daily-add{display:flex;align-items:center;justify-content:center;padding:var(--space-3);border:1px dashed var(--color-accent);border-radius:var(--radius-sm);background:none;color:var(--color-accent);font-size:var(--font-size-sm);font-weight:500;font-family:Inter,-apple-system,sans-serif;cursor:pointer;min-height:44px;width:100%;transition:background-color .15s}@media(hover:hover){.wp-daily-add:hover{background:color-mix(in srgb,var(--color-accent) 5%,transparent)}}.wp-pull-indicator{text-align:center;padding:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-400);transition:opacity .15s}.wp-sheet-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--color-gray-700) 40%,transparent);z-index:1000;display:flex;align-items:flex-end;justify-content:center}.wp-sheet{width:100%;max-width:500px;background:var(--bg-surface);border-top:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-4) var(--space-6);max-height:80vh;overflow-y:auto}.wp-sheet-handle{width:36px;height:4px;background:var(--color-gray-200);border-radius:2px;margin:0 auto var(--space-3)}.wp-sheet-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-3)}.wp-sheet-actions{display:flex;flex-direction:column;gap:var(--space-1)}.wp-sheet-action{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;background:none;font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;color:var(--color-gray-700);cursor:pointer;min-height:44px;text-align:left;border-radius:var(--radius-sm);transition:background-color .1s}@media(hover:hover){.wp-sheet-action:hover{background:var(--color-gray-50)}}.wp-sheet-action--danger{color:var(--color-danger)}.wp-sheet-action-icon{flex-shrink:0;width:24px;text-align:center;font-size:var(--font-size-md)}.wp-sheet-divider{height:1px;background:var(--color-gray-100);margin:var(--space-1) 0}.wp-skip-reasons{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.wp-skip-reason{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;color:var(--color-gray-700);min-height:44px;transition:border-color .15s,background-color .15s}.wp-skip-reason--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,transparent)}@media(hover:hover){.wp-skip-reason:hover{border-color:var(--color-gray-300)}}.wp-skip-note{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;outline:none;background:var(--bg-surface);color:var(--color-gray-700);margin-bottom:var(--space-3);min-height:44px}.wp-skip-note:focus{border-color:var(--color-accent)}.wp-reschedule-field{margin-bottom:var(--space-3)}.wp-reschedule-field label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);margin-bottom:var(--space-1)}.wp-reschedule-field input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;outline:none;background:var(--bg-surface);color:var(--color-gray-700);min-height:44px}.wp-reschedule-field input:focus{border-color:var(--color-accent)}.wp-sheet-submit{width:100%;padding:var(--space-3);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;font-family:Inter,-apple-system,sans-serif;cursor:pointer;min-height:44px;transition:background-color .15s}.wp-sheet-submit--primary{background:var(--color-accent);color:var(--color-white)}@media(hover:hover){.wp-sheet-submit--primary:hover{filter:brightness(.95)}}.wp-sheet-submit--secondary{background:var(--color-gray-100);color:var(--color-gray-600);margin-top:var(--space-2)}.wp-sheet-submit--mt{margin-top:var(--space-3)}.wp-sheet-submit:disabled{opacity:.5;cursor:not-allowed}.wp-quick-create{display:flex;flex-direction:column;gap:var(--space-3)}.wp-quick-field label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);margin-bottom:var(--space-1)}.wp-quick-field input,.wp-quick-field select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:Inter,-apple-system,sans-serif;outline:none;background:var(--bg-surface);color:var(--color-gray-700);min-height:44px}.wp-quick-field input:focus,.wp-quick-field select:focus{border-color:var(--color-accent)}.wp-quick-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}@media(max-width:767px){.wp-toolbar{flex-wrap:wrap;justify-content:center}.wp-toolbar-label{flex-basis:100%;text-align:center;font-size:var(--font-size-sm);order:-1;margin-bottom:var(--space-1)}.wp-toolbar-views{margin-left:0}.wp-stats{justify-content:center;gap:var(--space-3);font-size:var(--font-size-xs)}.wp-weekly{flex-direction:column}.wp-weekly-lanes{grid-template-columns:repeat(7,1fr);overflow-x:auto}.wp-day-lane{min-width:100px}.wp-unplanned{width:100%}.wp-dcard{padding:var(--space-3)}.wp-sheet{max-width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0}}.activity-form-overlay{position:fixed;inset:0;background-color:color-mix(in srgb,var(--color-gray-700) 30%,transparent);z-index:1000;display:flex;justify-content:flex-end}.activity-form-panel{width:480px;max-width:100vw;height:100%;background-color:var(--bg-surface);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.activity-form-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);flex-shrink:0}.activity-form-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0}.activity-form-close{background:none;border:1px solid var(--border-color);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500;transition:background-color .15s}@media(hover:hover){.activity-form-close:hover{background-color:var(--bg-hover)}}.activity-form-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.activity-form-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.activity-form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600)}.activity-form-row{display:flex;gap:var(--space-3)}.activity-form-textarea{resize:vertical;min-height:60px}.activity-form-checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}.activity-form-error{color:var(--color-danger);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);margin:0}.activity-form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border-color);margin-top:auto}.activity-form-field{position:relative}.activity-form-linked-value{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-gray-50);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700)}.activity-form-clear-btn{background:none;border:none;color:var(--color-gray-400);font-size:var(--font-size-xs);cursor:pointer;padding:0;font-weight:500}@media(hover:hover){.activity-form-clear-btn:hover{color:var(--color-danger)}}.activity-form-search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;max-height:200px;overflow-y:auto}.activity-form-search-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}@media(hover:hover){.activity-form-search-item:hover{background:var(--bg-hover)}}.activity-form-search-loading,.activity-form-search-empty{color:var(--color-gray-400);cursor:default}@media(hover:hover){.activity-form-search-loading:hover,.activity-form-search-empty:hover{background:none}}.activity-form-search-name{color:var(--color-gray-700)}.activity-form-search-meta{color:var(--color-gray-400);font-size:var(--font-size-xs)}@media(max-width:767px){.activity-form-panel{width:100vw}.activity-form-row{flex-direction:column}}.activity-detail-overlay{position:fixed;inset:0;background-color:color-mix(in srgb,var(--color-gray-700) 30%,transparent);z-index:1000;display:flex;justify-content:flex-end}.activity-detail-panel{width:480px;max-width:100vw;height:100%;background-color:var(--bg-surface);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.activity-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);flex-shrink:0}.activity-detail-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0}.activity-detail-close{background:none;border:1px solid var(--border-color);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500;transition:background-color .15s}@media(hover:hover){.activity-detail-close:hover{background-color:var(--bg-hover)}}.activity-detail-badges{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.activity-detail-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.activity-detail-section{display:flex;flex-direction:column;gap:var(--space-2)}.activity-detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-1) 0}.activity-detail-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-400)}.activity-detail-value{font-size:var(--font-size-sm);color:var(--color-gray-700)}.activity-detail-description{font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1.5;margin:0;white-space:pre-wrap}.activity-detail-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.activity-chip{display:inline-block;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;color:var(--color-accent);background:var(--color-accent-light);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s}@media(hover:hover){.activity-chip:hover{background:var(--color-gray-100)}}.activity-chip--tag{color:var(--color-gray-600);background:var(--color-gray-100);cursor:default}.activity-detail-actions-section{padding-top:var(--space-3);border-top:1px solid var(--border-color)}.activity-detail-action-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.activity-detail-inline-form{display:flex;gap:var(--space-2);margin-top:var(--space-2);align-items:center}.activity-detail-inline-form .form-input{flex:1}.activity-detail-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color);flex-shrink:0}.activity-detail-delete-confirm{display:flex;align-items:center;gap:var(--space-2)}.btn-danger-outline{background:none;color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .15s,color .15s}@media(hover:hover){.btn-danger-outline:hover{background:var(--color-danger);color:var(--color-white)}}.btn-danger{background:var(--color-danger);color:var(--color-white);border:none;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-weight:500;cursor:pointer}@media(max-width:767px){.activity-detail-panel{width:100vw}}:root{--color-purple: color-mix(in srgb, var(--color-accent) 50%, var(--color-danger) 80%);--color-indigo: color-mix(in srgb, var(--color-accent) 70%, var(--color-danger));--color-activity-work: var(--color-accent);--color-activity-meeting: var(--color-purple);--color-activity-call: var(--color-success);--color-activity-follow-up: var(--color-warning);--color-activity-inspection: var(--color-danger);--color-activity-delivery: var(--color-info);--color-activity-deadline: var(--color-danger-text);--color-activity-travel: var(--color-gray-500);--color-activity-review: var(--color-indigo);--color-activity-training: var(--color-purple);--color-activity-site-visit: var(--color-warning);--color-activity-admin: var(--color-gray-400);--color-activity-work-bg: color-mix(in srgb, var(--color-activity-work) 10%, transparent);--color-activity-meeting-bg: color-mix(in srgb, var(--color-activity-meeting) 10%, transparent);--color-activity-call-bg: var(--color-success-bg);--color-activity-follow-up-bg: var(--color-warning-bg);--color-activity-inspection-bg: var(--color-danger-bg);--color-activity-delivery-bg: var(--color-info-bg);--color-activity-deadline-bg: var(--color-danger-bg);--color-activity-travel-bg: color-mix(in srgb, var(--color-gray-500) 8%, transparent);--color-activity-review-bg: color-mix(in srgb, var(--color-activity-review) 10%, transparent);--color-activity-training-bg: color-mix(in srgb, var(--color-activity-training) 10%, transparent);--color-activity-site-visit-bg: var(--color-warning-bg);--color-activity-admin-bg: color-mix(in srgb, var(--color-gray-400) 8%, transparent);--cal-grid-border: var(--border-color);--cal-time-gutter-width: 60px;--cal-hour-height: 60px;--cal-current-time: var(--color-danger);--cal-overlay-1: var(--color-accent);--cal-overlay-2: var(--color-success);--cal-overlay-3: var(--color-warning);--cal-overlay-4: var(--color-danger);--cal-overlay-5: var(--color-info)}.planner-page{padding:var(--space-6);max-width:1200px}.planner-tab-bar{display:flex;align-items:center;gap:var(--space-1);padding:2px;background:var(--color-gray-100);border-radius:var(--radius-sm);margin-bottom:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch}.planner-tab-btn{position:relative;padding:var(--space-2) var(--space-3);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;line-height:1;color:var(--color-gray-500);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color .15s ease,background .15s ease}.planner-tab-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.planner-tab-btn--active{color:var(--color-gray-700);background:var(--bg-surface);font-weight:600}@media(hover:hover){.planner-tab-btn:not(.planner-tab-btn--active):hover{color:var(--color-gray-600);background:var(--color-gray-50)}}.planner-content{min-height:400px}.planner-placeholder{text-align:center;padding:var(--space-12) var(--space-6);border:1px dashed var(--color-gray-200);border-radius:var(--radius-md)}.planner-placeholder-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-2)}.planner-placeholder-text{font-size:var(--font-size-sm);color:var(--color-gray-400);margin:0}.planner-tab-error{text-align:center;padding:var(--space-8);color:var(--color-danger)}.tasks-actions-cell{display:flex;align-items:center;gap:var(--space-4)}.planner-quick-add{font-size:var(--font-size-sm);color:var(--color-accent);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px var(--space-8);cursor:pointer;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s}.planner-quick-add:disabled{opacity:.5;cursor:default}@media(hover:hover){.planner-quick-add:hover:not(:disabled){background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}}.planner-add-to-cal{font-size:var(--font-size-xs);color:var(--color-accent);background:none;border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:2px var(--space-2);cursor:pointer;white-space:nowrap;font-weight:500;transition:background-color .15s,color .15s}@media(hover:hover){.planner-add-to-cal:hover{background:var(--color-accent);color:var(--color-white)}}.activity-type-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:500;padding:2px 8px;border-radius:4px;white-space:nowrap}.activity-type--work{color:var(--color-activity-work);background:var(--color-activity-work-bg)}.activity-type--meeting{color:var(--color-activity-meeting);background:var(--color-activity-meeting-bg)}.activity-type--call{color:var(--color-activity-call);background:var(--color-activity-call-bg)}.activity-type--follow-up{color:var(--color-activity-follow-up);background:var(--color-activity-follow-up-bg)}.activity-type--inspection{color:var(--color-activity-inspection);background:var(--color-activity-inspection-bg)}.activity-type--delivery{color:var(--color-activity-delivery);background:var(--color-activity-delivery-bg)}.activity-type--deadline{color:var(--color-activity-deadline);background:var(--color-activity-deadline-bg)}.activity-type--travel{color:var(--color-activity-travel);background:var(--color-activity-travel-bg)}.activity-type--review{color:var(--color-activity-review);background:var(--color-activity-review-bg)}.activity-type--training{color:var(--color-activity-training);background:var(--color-activity-training-bg)}.activity-type--site-visit{color:var(--color-activity-site-visit);background:var(--color-activity-site-visit-bg)}.activity-type--admin{color:var(--color-activity-admin);background:var(--color-activity-admin-bg)}.activity-status-pill{display:inline-block;font-size:var(--font-size-xs);font-weight:500;padding:2px 8px;border-radius:4px;white-space:nowrap}.activity-status--planned{color:var(--color-info-text);background:var(--color-info-bg)}.activity-status--in-progress{color:var(--color-warning-text);background:var(--color-warning-bg)}.activity-status--completed{color:var(--color-success-text);background:var(--color-success-bg)}.activity-status--skipped{color:var(--color-gray-500);background:var(--color-gray-100)}.activity-status--rescheduled{color:var(--color-warning-text);background:var(--color-warning-bg)}.activity-status--cancelled{color:var(--color-danger-text);background:var(--color-danger-bg)}@media(max-width:767px){.planner-tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none}.planner-tab-bar::-webkit-scrollbar{display:none}.planner-page{padding:var(--space-3)}.planner-tab-btn{min-width:0;flex-shrink:0}}.canvas-mode-switcher{display:flex;align-items:center;gap:var(--space-1);padding:2px;background:var(--color-gray-100);border-radius:var(--radius-sm)}.canvas-mode-btn{position:relative;padding:var(--space-1) var(--space-2);font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-xs);font-weight:500;line-height:1;color:var(--color-gray-500);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color .15s ease,background .15s ease}.canvas-mode-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.canvas-mode-btn--active{color:var(--color-gray-700);background:var(--bg-surface, #fff);font-weight:600;box-shadow:0 1px 2px #0000000f}.canvas-mode-btn--disabled{color:var(--color-gray-300);cursor:not-allowed}@media(hover:hover){.canvas-mode-btn:not(.canvas-mode-btn--active):not(.canvas-mode-btn--disabled):hover{color:var(--color-gray-600);background:var(--color-gray-50)}}.canvas-mode-btn--disabled .canvas-mode-tooltip{display:none;position:absolute;bottom:calc(100% + var(--space-1));left:50%;transform:translate(-50%);padding:4px var(--space-2);font-size:var(--font-size-xs);font-weight:400;color:var(--bg-surface, #fff);background:var(--color-gray-700);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:10}.canvas-mode-btn--disabled:hover .canvas-mode-tooltip{display:block}.canvas-mode-key{display:inline-block;margin-left:4px;padding:0 4px;font-size:10px;font-weight:600;color:var(--color-gray-400);background:var(--color-gray-100);border-radius:2px;line-height:16px;vertical-align:middle}.canvas-mode-btn--active .canvas-mode-key{background:var(--color-gray-200)}.canvas-mode-btn--disabled .canvas-mode-key{color:var(--color-gray-300)}.canvas-transition-wrapper{width:100%;height:100%;transition:opacity .3s ease}.canvas-transition-wrapper--fading{opacity:0}:root{--canvas-color-project: #AF52DE;--canvas-edge-assigned-to: var(--color-accent);--canvas-edge-billed-to: var(--color-success);--canvas-edge-depends-on: var(--color-warning);--canvas-edge-invoice-line: var(--canvas-color-project);--canvas-edge-link: var(--color-gray-400);--color-cp-critical: var(--color-danger);--color-cp-critical-fill: var(--color-danger);--color-cp-critical-text: var(--bg-surface, #fff);--color-cp-non-critical: var(--color-gray-300);--color-cp-non-critical-fill: var(--color-gray-100);--color-cp-non-critical-text: var(--color-gray-600);--color-cp-float-bar: var(--color-accent-light, #e0efff);--color-cp-float-text: var(--color-accent);--color-cp-spine: var(--color-danger);--color-cp-edge-critical: var(--color-danger);--color-cp-edge-non-critical: var(--color-gray-300);--color-cp-milestone: var(--color-accent);--color-cp-duration-bg: var(--color-gray-700);--color-cp-duration-text: var(--bg-surface, #fff);--color-cp-contact: var(--color-success);--color-cp-legend-bg: var(--bg-surface, #fff);--color-cp-legend-border: var(--color-gray-200);--color-cp-legend-text: var(--color-gray-700);--color-cp-legend-text-secondary: var(--color-gray-500);--color-stakeholder-sub: var(--color-accent);--color-stakeholder-client: var(--color-success);--color-stakeholder-inspector: var(--color-warning);--color-stakeholder-supplier: var(--canvas-color-project);--color-stakeholder-default: var(--color-gray-400);--color-stakeholder-edge: var(--color-gray-300);--color-stakeholder-collab: var(--color-accent);--color-stakeholder-cluster-bg: var(--color-gray-50);--color-stakeholder-cluster-border: var(--color-gray-200);--color-invoice-paid: var(--color-success);--color-invoice-pending: var(--color-warning);--color-invoice-overdue: var(--color-danger);--color-risk-low: var(--color-success);--color-risk-medium: var(--color-warning);--color-risk-high: #FF6B35;--color-risk-critical: var(--color-danger);--color-cost-under: var(--color-success);--color-cost-on-budget: var(--color-success);--color-cost-warning: var(--color-warning);--color-cost-over: var(--color-danger);--color-cost-neutral: var(--color-gray-300);--color-cost-phase-border: var(--color-gray-200);--color-cost-phase-bg: var(--color-gray-50);--color-cost-text: var(--color-gray-700);--color-cost-text-secondary: var(--color-gray-500)}.canvas-page{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.canvas-empty,.canvas-loading,.canvas-error{display:flex;align-items:center;justify-content:center;flex:1;font-size:var(--font-size-base);color:var(--color-gray-500)}.canvas-empty-text{max-width:400px;text-align:center;line-height:1.6}.canvas-error{color:var(--color-danger)}.canvas-controls{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-gray-100);background:var(--bg-surface, #fff);flex-wrap:wrap}.canvas-controls-section{display:flex;align-items:center;gap:var(--space-2)}.canvas-controls-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);margin-right:var(--space-1)}.canvas-controls-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-600);cursor:pointer;min-width:32px;text-align:center;font-family:inherit}@media(hover:hover){.canvas-controls-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}}.canvas-controls-divider{width:1px;height:24px;background:var(--color-gray-200)}.canvas-filter-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-filter-btn.active{color:#fff;border-color:transparent}.canvas-filter-btn--task.active{background:var(--color-accent)}.canvas-filter-btn--contact.active{background:var(--color-success)}.canvas-filter-btn--invoice.active{background:var(--color-warning)}.canvas-filter-btn--project.active{background:var(--canvas-color-project)}.canvas-filter-btn--risk.active{background:var(--color-danger)}@media(hover:hover){.canvas-filter-btn:not(.active):hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}}.canvas-layout{display:flex;flex:1;overflow:hidden;position:relative}.canvas-viewport{flex:1;position:relative;overflow:auto;background:var(--color-gray-50)}.canvas-renderer-svg{display:block}.canvas-tooltip{position:fixed;z-index:100;background:var(--bg-surface, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);pointer-events:none;max-width:260px;font-size:var(--font-size-xs);line-height:1.5}.canvas-tooltip-type{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-400);margin-bottom:2px}.canvas-tooltip-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-1)}.canvas-tooltip-field{color:var(--color-gray-500)}.canvas-tooltip-key{font-weight:500;color:var(--color-gray-600)}.canvas-sidebar{width:320px;border-left:1px solid var(--color-gray-100);background:var(--bg-surface, #fff);overflow-y:auto;padding:var(--space-4);flex-shrink:0}.canvas-sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3)}.canvas-sidebar-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0;line-height:1.3;flex:1;margin-right:var(--space-2)}.canvas-sidebar-close{font-size:var(--font-size-xs);color:var(--color-gray-400);background:none;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;font-family:inherit;white-space:nowrap}@media(hover:hover){.canvas-sidebar-close:hover{border-color:var(--color-gray-300);color:var(--color-gray-600)}}.canvas-sidebar-type{margin-bottom:var(--space-4)}.canvas-type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize;color:#fff}.canvas-type-badge--task{background:var(--color-accent)}.canvas-type-badge--contact{background:var(--color-success)}.canvas-type-badge--invoice{background:var(--color-warning)}.canvas-type-badge--project{background:var(--canvas-color-project)}.canvas-type-badge--risk{background:var(--color-danger)}.canvas-sidebar-details,.canvas-sidebar-meta{margin-bottom:var(--space-4)}.canvas-sidebar-meta{padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.canvas-detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-1) 0;gap:var(--space-2)}.canvas-detail-label{font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize;color:var(--color-gray-500);flex-shrink:0}.canvas-detail-value{font-size:var(--font-size-sm);color:var(--color-gray-700);text-align:right;word-break:break-word}.canvas-detail-id{font-family:monospace;font-size:var(--font-size-xs);color:var(--color-gray-400)}.canvas-edge-legend{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.canvas-edge-filter-btn{display:flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-edge-filter-btn.active{color:var(--color-gray-700);border-color:var(--color-gray-300)}.canvas-edge-swatch{display:inline-block;width:16px;height:3px;border-radius:2px}.canvas-edge-swatch--assigned-to{background:var(--canvas-edge-assigned-to)}.canvas-edge-swatch--billed-to{background:var(--canvas-edge-billed-to)}.canvas-edge-swatch--depends-on{background:var(--canvas-edge-depends-on)}.canvas-edge-swatch--invoice-line{background:var(--canvas-edge-invoice-line)}.canvas-edge-swatch--link{background:var(--canvas-edge-link)}@media(hover:hover){.canvas-edge-filter-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}}.canvas-timeline-axis text{font-family:Inter,-apple-system,sans-serif;font-size:var(--font-size-xs);fill:var(--color-gray-500)}.canvas-timeline-axis line,.canvas-timeline-axis path{stroke:var(--color-gray-200)}.canvas-timeline-grid line{stroke:var(--color-gray-100)}.canvas-timeline-today line{stroke:var(--color-danger);stroke-dasharray:6,4}.canvas-timeline-swimlane-label{font-family:Inter,-apple-system,sans-serif;font-size:11px;font-weight:600;fill:var(--color-gray-500)}.canvas-timeline-swimlane-divider{stroke:var(--color-gray-100)}.canvas-timeline-bar{transition:opacity .15s ease}.canvas-timeline-bar:hover{opacity:1!important}.canvas-timeline-bar--overdue{stroke:var(--color-danger);stroke-width:2}.canvas-timeline-milestone{transition:transform .15s ease}.canvas-timeline-milestone:hover{filter:brightness(1.1)}.canvas-timeline-dep-arrow{pointer-events:none}.canvas-timeline-dep-arrow--FS{stroke-dasharray:none}.canvas-timeline-dep-arrow--FF,.canvas-timeline-dep-arrow--SS,.canvas-timeline-dep-arrow--SF{stroke-dasharray:4,3}.canvas-cost-legend{position:absolute;bottom:var(--space-4);left:var(--space-4);background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--font-size-xs);z-index:10;min-width:200px}.canvas-cost-legend-title{font-weight:600;color:var(--color-cost-text);margin-bottom:var(--space-2)}.canvas-cost-legend-scale{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2)}.canvas-cost-legend-bar{flex:1;height:8px;border-radius:4px;border:1px solid var(--color-gray-200)}.canvas-cost-legend-labels{display:flex;justify-content:space-between;color:var(--color-cost-text-secondary);font-size:10px;margin-bottom:var(--space-2)}.canvas-cost-summary{border-top:1px solid var(--color-gray-100);padding-top:var(--space-2)}.canvas-cost-summary-row{display:flex;justify-content:space-between;padding:2px 0;color:var(--color-cost-text-secondary)}.canvas-cost-summary-value{font-weight:600;color:var(--color-cost-text)}.canvas-cost-layout-toggle{display:flex;gap:var(--space-1)}.canvas-cost-layout-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-cost-layout-btn--active{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-light)}.canvas-cost-breadcrumb{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);z-index:10}.canvas-cost-breadcrumb-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--color-accent);cursor:pointer;font-family:inherit}.canvas-cost-breadcrumb-current{font-weight:600;color:var(--color-cost-text)}.canvas-cp-legend{position:absolute;bottom:var(--space-4);left:var(--space-4);background:var(--color-cp-legend-bg);border:1px solid var(--color-cp-legend-border);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--font-size-xs);z-index:10;min-width:180px}.canvas-cp-legend-title{font-weight:600;color:var(--color-cp-legend-text);margin-bottom:var(--space-2)}.canvas-cp-legend-item{display:flex;align-items:center;gap:var(--space-2);padding:2px 0;color:var(--color-cp-legend-text-secondary)}.canvas-cp-legend-swatch{display:inline-block;width:24px;height:4px;border-radius:2px;flex-shrink:0}.canvas-cp-legend-swatch--critical{background:var(--color-cp-critical);height:4px}.canvas-cp-legend-swatch--non-critical{background:var(--color-cp-non-critical);height:2px}.canvas-cp-legend-swatch--float{background:var(--color-cp-float-bar);height:8px;border:1px solid var(--color-cp-float-text)}.canvas-cp-legend-swatch--milestone{width:10px;height:10px;background:var(--color-cp-milestone);transform:rotate(45deg);border-radius:1px;margin:0 7px}.canvas-cp-legend-swatch--contact{width:10px;height:10px;background:var(--color-cp-contact);border-radius:50%;margin:0 7px}.canvas-cp-summary{border-top:1px solid var(--color-cp-legend-border);padding-top:var(--space-2);margin-top:var(--space-2)}.canvas-cp-summary-row{display:flex;justify-content:space-between;padding:2px 0;color:var(--color-cp-legend-text-secondary)}.canvas-cp-summary-value{font-weight:600;color:var(--color-cp-legend-text)}.canvas-cp-toggle{display:flex;gap:var(--space-1)}.canvas-cp-toggle-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-cp-toggle-btn--active{color:var(--color-cp-critical);border-color:var(--color-cp-critical)}.canvas-stakeholder-toggle{display:flex;gap:var(--space-1)}.canvas-stakeholder-toggle-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-stakeholder-toggle-btn--active{color:var(--color-accent);border-color:var(--color-accent)}.canvas-stakeholder-type-filters{display:flex;gap:var(--space-1)}.canvas-stakeholder-type-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-stakeholder-type-btn.active{color:var(--bg-surface, #fff);border-color:transparent}.canvas-stakeholder-type-btn--sub.active{background:var(--color-stakeholder-sub)}.canvas-stakeholder-type-btn--client.active{background:var(--color-stakeholder-client)}.canvas-stakeholder-type-btn--inspector.active{background:var(--color-stakeholder-inspector)}.canvas-stakeholder-type-btn--supplier.active{background:var(--color-stakeholder-supplier)}@media(hover:hover){.canvas-stakeholder-type-btn:not(.active):hover,.canvas-stakeholder-toggle-btn:not(.canvas-stakeholder-toggle-btn--active):hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}}.canvas-stakeholder-legend{position:absolute;bottom:var(--space-4);left:var(--space-4);background:var(--bg-surface, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--font-size-xs);z-index:10;min-width:180px}.canvas-stakeholder-legend-title{font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.canvas-stakeholder-legend-item{display:flex;align-items:center;gap:var(--space-2);padding:2px 0;color:var(--color-gray-500)}.canvas-stakeholder-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;margin:0 3px}.canvas-stakeholder-legend-swatch--sub{background:var(--color-stakeholder-sub)}.canvas-stakeholder-legend-swatch--client{background:var(--color-stakeholder-client)}.canvas-stakeholder-legend-swatch--inspector{background:var(--color-stakeholder-inspector)}.canvas-stakeholder-legend-swatch--supplier{background:var(--color-stakeholder-supplier)}.canvas-stakeholder-legend-swatch--paid{width:8px;height:8px;border-radius:1px;margin:0 4px;background:var(--color-invoice-paid)}.canvas-stakeholder-legend-swatch--pending{width:8px;height:8px;border-radius:1px;margin:0 4px;background:var(--color-invoice-pending)}.canvas-stakeholder-legend-swatch--overdue{width:8px;height:8px;border-radius:1px;margin:0 4px;background:var(--color-invoice-overdue)}.canvas-stakeholder-legend-swatch--collab{width:16px;height:3px;border-radius:2px;margin:0;background:var(--color-stakeholder-collab)}.canvas-stakeholder-summary{border-top:1px solid var(--color-gray-100);padding-top:var(--space-2);margin-top:var(--space-2)}.canvas-stakeholder-summary-row{display:flex;justify-content:space-between;padding:2px 0;color:var(--color-gray-500)}.canvas-stakeholder-summary-value{font-weight:600;color:var(--color-gray-700)}.canvas-edge-swatch--collaborates-with{background:var(--color-stakeholder-collab)}@keyframes pulse-risk{0%,to{opacity:.9}50%{opacity:.5}}.canvas-risk-pulse{animation:pulse-risk 2s ease-in-out infinite}.canvas-risk-level-filters{display:flex;gap:var(--space-1)}.canvas-risk-level-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:var(--bg-surface, #fff);color:var(--color-gray-500);cursor:pointer;font-family:inherit}.canvas-risk-level-btn.active{color:var(--bg-surface, #fff);border-color:transparent}.canvas-risk-level-btn--critical.active{background:var(--color-risk-critical)}.canvas-risk-level-btn--high.active{background:var(--color-risk-high)}.canvas-risk-level-btn--medium.active{background:var(--color-risk-medium)}.canvas-risk-level-btn--low.active{background:var(--color-risk-low)}@media(hover:hover){.canvas-risk-level-btn:not(.active):hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}}.canvas-risk-stats-bar{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);font-weight:500}.canvas-risk-stat{display:flex;align-items:center;gap:var(--space-1)}.canvas-risk-stat--critical{color:var(--color-risk-critical)}.canvas-risk-stat--high{color:var(--color-risk-high)}.canvas-risk-stat--medium{color:var(--color-risk-medium)}.canvas-risk-stat--low{color:var(--color-risk-low)}.canvas-risk-legend{position:absolute;bottom:var(--space-4);left:var(--space-4);background:var(--bg-surface, #fff);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--font-size-xs);z-index:10;min-width:180px}.canvas-risk-legend-title{font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}.canvas-risk-legend-item{display:flex;align-items:center;gap:var(--space-2);padding:2px 0;color:var(--color-gray-500)}.canvas-risk-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;margin:0 3px}.canvas-risk-legend-swatch--critical{background:var(--color-risk-critical)}.canvas-risk-legend-swatch--high{background:var(--color-risk-high)}.canvas-risk-legend-swatch--medium{background:var(--color-risk-medium)}.canvas-risk-legend-swatch--low{background:var(--color-risk-low)}.canvas-risk-summary{border-top:1px solid var(--color-gray-100);padding-top:var(--space-2);margin-top:var(--space-2)}.canvas-risk-summary-row{display:flex;justify-content:space-between;padding:2px 0;color:var(--color-gray-500)}.canvas-risk-summary-value{font-weight:600;color:var(--color-gray-700)}@media(max-width:767px){.canvas-sidebar{position:absolute;right:0;top:0;bottom:0;width:280px;z-index:50;border-left:1px solid var(--color-gray-200)}.canvas-controls{padding:var(--space-2) var(--space-3)}}.account-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100);cursor:pointer;transition:background-color .15s;min-height:40px}@media(hover:hover){.account-row:hover{background-color:var(--color-gray-50)}}.account-row.placeholder{cursor:default}.account-row.placeholder .account-name{font-style:italic;color:var(--color-gray-500)}.account-row-left{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.account-expand-btn{width:20px;height:20px;border:none;background:none;cursor:pointer;font-size:10px;color:var(--color-gray-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);transition:background-color .15s}@media(hover:hover){.account-expand-btn:hover{background-color:var(--color-gray-200)}}.account-code{font-family:Fira Code,SF Mono,Consolas,monospace;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0;min-width:48px}.account-name{font-size:var(--font-size-base);color:var(--color-gray-700);display:flex;align-items:center;gap:var(--space-2);min-width:0}.account-badge{font-size:var(--font-size-xs);color:var(--color-gray-400);background:var(--color-gray-100);padding:1px 6px;border-radius:var(--radius-sm);font-style:normal;font-weight:500}.account-row-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.account-row-actions{display:flex;align-items:center;gap:var(--space-1)}@media(hover:hover){.account-row-actions{opacity:0;transition:opacity .15s}.account-row:hover .account-row-actions,.account-row:focus-within .account-row-actions{opacity:1}}@media(hover:none){.account-row-actions{opacity:1}}.account-action-btn{width:26px;height:26px;border:none;background:none;cursor:pointer;color:var(--color-gray-400);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}@media(hover:hover){.account-action-btn:hover{background:var(--bg-active);color:var(--color-gray-600)}.account-action-btn--danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}}.account-balance{font-family:Fira Code,SF Mono,Consolas,monospace;font-weight:500;font-size:var(--font-size-sm);text-align:right;min-width:120px;flex-shrink:0}@media(hover:none){.account-expand-btn,.account-action-btn{min-width:44px;min-height:44px}}.account-tree{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.account-tree-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);flex-wrap:wrap}.account-tree-search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);width:240px;transition:border-color .15s}.account-tree-search:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.account-tree-filter{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);background:var(--bg-surface)}.account-tree-toggle{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:pointer;white-space:nowrap}.account-tree-toggle input{accent-color:var(--color-accent)}.account-tree-expand-actions{margin-left:auto;display:flex;gap:var(--space-2)}.account-tree-header{display:flex;justify-content:space-between;padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-gray-200);background:var(--color-gray-50)}.account-tree-header span:last-child{min-width:120px;text-align:right}.account-tree-body{max-height:calc(100vh - 280px);overflow-y:auto}.account-tree-empty{padding:var(--space-8) var(--space-6);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-base)}.account-tree-error{color:var(--color-danger)}.modal-overlay{position:fixed;inset:0;z-index:900;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-gray-100)}.modal-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.modal-close{border:none;background:none;font-size:20px;color:var(--color-gray-400);cursor:pointer;padding:var(--space-1);line-height:1}@media(hover:hover){.modal-close:hover{color:var(--color-gray-700)}}@media(hover:none){.modal-close{min-width:44px;min-height:44px}}.account-form{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.form-error-banner{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);border:1px solid var(--color-danger-border)}.form-row{display:flex;gap:var(--space-4)}.form-row .form-group{flex:1}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600)}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-700);background:var(--bg-surface);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.form-input--error{border-color:var(--color-danger)}.form-input--error:focus{box-shadow:0 0 0 2px var(--color-danger-border)}.form-error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-checkboxes{display:flex;flex-direction:column;gap:var(--space-2)}.form-checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.btn-primary{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn-danger{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}@media(hover:hover){.btn-danger:hover:not(:disabled){background:var(--color-danger-text)}}.account-context-menu{position:fixed;z-index:1000;background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1) 0;min-width:200px}.context-menu-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-4);border:none;background:none;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);cursor:pointer;transition:background-color .1s}@media(hover:hover){.context-menu-item:hover{background-color:var(--color-gray-50)}}.context-menu-item--danger{color:var(--color-danger)}@media(hover:hover){.context-menu-item--danger:hover{background-color:var(--color-danger-bg)}}.context-menu-divider{height:1px;background:var(--color-gray-100);margin:var(--space-1) 0}.chart-of-accounts{padding:var(--space-6);max-width:1100px}.coa-header{margin-bottom:var(--space-4)}.coa-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.coa-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.coa-actions-left,.coa-actions-right{display:flex;gap:var(--space-2)}.coa-reports-dropdown{position:relative}.coa-reports-menu{position:absolute;top:100%;right:0;margin-top:var(--space-1);background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1) 0;min-width:180px;z-index:100}.coa-reports-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-4);border:none;background:none;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);cursor:pointer;transition:background-color .1s}@media(hover:hover){.coa-reports-item:hover{background-color:var(--color-gray-50)}}@media(max-width:767px){.chart-of-accounts{padding:var(--space-3)}.coa-actions{flex-direction:column;align-items:stretch}.coa-actions-left,.coa-actions-right{flex-wrap:wrap}.coa-actions-right button{width:100%}}.invoice-list-header{margin-bottom:var(--space-4)}.invoice-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.invoice-breadcrumb .breadcrumb-link{cursor:pointer;color:var(--color-accent)}@media(hover:hover){.invoice-breadcrumb .breadcrumb-link:hover{text-decoration:underline}}.invoice-breadcrumb .breadcrumb-sep{margin:0 var(--space-1)}.invoice-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.invoice-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--color-gray-700)}.invoice-filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.invoice-table-container{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow:hidden}.invoice-table{width:100%;border-collapse:collapse}.invoice-table thead th{background:var(--color-gray-50);padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);border-bottom:1px solid var(--color-gray-200)}.invoice-table tbody td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.invoice-table .col-amount{text-align:right;font-variant-numeric:tabular-nums}.invoice-table .col-number{font-weight:500;color:var(--color-accent)}.invoice-row{cursor:pointer;transition:background-color .15s}@media(hover:hover){.invoice-row:hover{background:var(--color-gray-50)}}.invoice-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.status-draft{background:var(--color-gray-100);color:var(--color-gray-600)}.status-sent{background:var(--color-info-bg);color:var(--color-info-text)}.status-partial{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-paid{background:var(--color-success-bg);color:var(--color-success-text)}.invoice-count{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);color:var(--color-gray-500);border-top:1px solid var(--color-gray-100)}.invoice-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.invoice-loading,.invoice-empty{padding:var(--space-8);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.invoice-empty .btn-text{display:block;margin:var(--space-2) auto 0}@media(max-width:767px){.invoice-list-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{flex-wrap:wrap}.toolbar-right button{width:100%}}.receipt-list-page{padding:var(--space-6)}.receipt-list-header{margin-bottom:var(--space-4)}.receipt-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.receipt-breadcrumb .breadcrumb-link{cursor:pointer;color:var(--color-accent)}@media(hover:hover){.receipt-breadcrumb .breadcrumb-link:hover{text-decoration:underline}}.receipt-breadcrumb .breadcrumb-sep{margin:0 var(--space-1)}.receipt-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.receipt-search-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--color-gray-700);width:200px}.receipt-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.receipt-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--color-gray-700)}.receipt-filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.receipt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}a.receipt-card{text-decoration:none;color:inherit;display:block}.receipt-card{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}@media(hover:hover){.receipt-card:hover{border-color:var(--color-gray-300);box-shadow:0 2px 8px #0000000f}}.receipt-card-thumb{height:140px;background:var(--color-gray-50);display:flex;align-items:center;justify-content:center;overflow:hidden}.receipt-card-thumb img{width:100%;height:100%;object-fit:cover}.receipt-card-icon{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-400);background:var(--color-gray-100);width:56px;height:56px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.receipt-card-body{padding:var(--space-3)}.receipt-card-vendor{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-card-amount{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800);font-variant-numeric:tabular-nums;margin-bottom:var(--space-1)}.receipt-card-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--space-1)}.receipt-card-category{background:var(--color-gray-100);padding:1px 6px;border-radius:8px;font-size:var(--font-size-xs)}.receipt-card-number{font-size:var(--font-size-xs);color:var(--color-gray-400)}.receipt-count{padding:var(--space-3) 0;font-size:var(--font-size-xs);color:var(--color-gray-500)}.receipt-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.receipt-loading,.receipt-empty{padding:var(--space-8);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.receipt-empty .btn-text{display:block;margin:var(--space-2) auto 0}@media(max-width:767px){.receipt-list-page{padding:var(--space-3)}.receipt-list-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{flex-wrap:wrap}.receipt-search-input{width:100%}.receipt-grid{grid-template-columns:1fr}}.tax-cat-manager{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.tax-cat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.tax-cat-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0}.tax-cat-form{background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-4)}.tax-cat-form .form-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.tax-cat-form .form-group{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.tax-cat-form .form-group label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500)}.tax-cat-form .form-group input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);background:var(--bg-surface);font-family:var(--font-family)}.tax-cat-form .form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.tax-cat-form .form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.tax-cat-form-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-2)}.tax-cat-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tax-cat-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100)}.tax-cat-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-700)}.tax-cat-line{font-weight:600;min-width:48px}.tax-cat-desc{color:var(--color-gray-500)}.tax-cat-actions{display:flex;gap:var(--space-2)}.tax-cat-loading,.tax-cat-error{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-gray-500)}.tax-cat-error{color:var(--color-danger)}.schc-view{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.schc-header{margin-bottom:var(--space-4)}.schc-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-1) 0}.schc-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-500)}.schc-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.schc-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100)}.schc-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-700)}.schc-line-num{font-weight:600;min-width:48px}.schc-desc{color:var(--color-gray-500)}.schc-amount{text-align:right;font-variant-numeric:tabular-nums}th.schc-amount{text-align:right}.schc-zero td{color:var(--color-gray-400)}.schc-total td{font-weight:600;border-top:2px solid var(--color-gray-200);border-bottom:none;padding-top:var(--space-3)}.schc-loading,.schc-error{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-gray-500)}.schc-error{color:var(--color-danger)}.c1099-list{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4)}.c1099-header{margin-bottom:var(--space-4)}.c1099-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-1) 0}.c1099-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-500)}.c1099-section{margin-bottom:var(--space-4)}.c1099-section h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);margin:0 0 var(--space-2) 0}.c1099-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.c1099-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100)}.c1099-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-50);color:var(--color-gray-700)}.c1099-amount{text-align:right;font-variant-numeric:tabular-nums}th.c1099-amount{text-align:right}.c1099-total td{font-weight:600;border-top:2px solid var(--color-gray-200);border-bottom:none}.c1099-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.c1099-required{background:var(--color-warning-bg, #fff3cd);color:var(--color-warning, #856404)}.c1099-below{background:var(--color-gray-50);color:var(--color-gray-500)}.c1099-empty{padding:var(--space-6);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.c1099-loading,.c1099-error{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-gray-500)}.c1099-error{color:var(--color-danger)}.tax-prep-page{padding:var(--space-6)}.tax-prep-header{margin-bottom:var(--space-4)}.tax-prep-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.tax-prep-breadcrumb .breadcrumb-link{color:var(--color-accent);text-decoration:none;cursor:pointer}@media(hover:hover){.tax-prep-breadcrumb .breadcrumb-link:hover{text-decoration:underline}}.tax-prep-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.tax-year-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-gray-700);background:var(--bg-surface);cursor:pointer}.tax-year-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.tax-prep-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-gray-100);margin-bottom:var(--space-4)}.tax-tab{padding:var(--space-2) var(--space-4);border:none;background:none;font-size:var(--font-size-sm);font-family:var(--font-family);font-weight:500;color:var(--color-gray-500);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tax-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media(hover:hover){.tax-tab:hover:not(.active){color:var(--color-gray-700)}}.tax-prep-content{min-height:300px}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);font-weight:500;cursor:pointer;border:1px solid transparent;transition:background-color .15s,border-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}}.btn-ghost{background:none;color:var(--color-gray-600);border-color:var(--color-gray-200)}@media(hover:hover){.btn-ghost:hover:not(:disabled){background:var(--color-gray-50)}}.btn-text{border:none;background:none;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-accent);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}@media(hover:hover){.btn-text:hover{background:var(--color-accent-light)}}.btn-text-danger{color:var(--color-danger)}@media(hover:hover){.btn-text-danger:hover{background:var(--color-danger-bg, #fde8e8)}}.invoice-preview{max-width:700px;margin:0 auto;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--space-6);font-size:var(--font-size-sm);color:var(--color-gray-700)}.preview-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-gray-200)}.preview-header-text{white-space:pre-wrap;font-size:var(--font-size-sm);color:var(--color-gray-600)}.preview-org-name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700)}.preview-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-700);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:1px}.preview-meta{display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-100)}.preview-meta-left,.preview-meta-right{display:flex;flex-direction:column;gap:2px}.preview-meta-right{text-align:right}.preview-meta-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.preview-meta-value{font-weight:500}.preview-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.preview-table th{text-align:left;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gray-500);padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--color-gray-200)}.preview-table td{padding:var(--space-2);border-bottom:1px solid var(--color-gray-50);font-size:var(--font-size-sm)}.preview-table .col-right{text-align:right;font-variant-numeric:tabular-nums}.preview-empty{text-align:center;color:var(--color-gray-400);padding:var(--space-3)}.preview-totals{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);margin-bottom:var(--space-4)}.preview-total-line{display:flex;justify-content:space-between;width:240px;font-size:var(--font-size-sm);color:var(--color-gray-600);padding:2px 0}.preview-total-bold{font-weight:600;color:var(--color-gray-700);border-top:1px solid var(--color-gray-200);padding-top:var(--space-1);margin-top:var(--space-1)}.preview-terms{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.preview-terms-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--color-gray-500);margin-bottom:var(--space-1)}.preview-terms-text{font-size:var(--font-size-xs);color:var(--color-gray-500);white-space:pre-wrap}.preview-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100);font-size:var(--font-size-xs);color:var(--color-gray-400);text-align:center;white-space:pre-wrap}@media print{.invoice-preview{border:none;box-shadow:none;padding:0;max-width:none}}.template-editor-page{max-width:1200px}.template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.template-breadcrumb{font-size:var(--font-size-sm);color:var(--color-gray-500)}.template-breadcrumb .breadcrumb-link{cursor:pointer;color:var(--color-accent)}@media(hover:hover){.template-breadcrumb .breadcrumb-link:hover{text-decoration:underline}}.template-breadcrumb .breadcrumb-sep{margin:0 var(--space-1)}.template-loading,.template-empty{padding:var(--space-6);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.template-error{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.template-list{display:flex;flex-direction:column;gap:var(--space-2)}.template-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.template-card-name{font-weight:500;color:var(--color-gray-700);display:flex;align-items:center;gap:var(--space-2)}.template-default-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:var(--font-size-xs);font-weight:500;background:var(--color-info-bg);color:var(--color-info-text)}.template-card-meta{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.template-card-actions{display:flex;gap:var(--space-1)}.btn-danger{color:var(--color-danger)}.template-edit-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media(max-width:900px){.template-edit-layout{grid-template-columns:1fr}}.template-form-panel,.template-preview-panel{min-width:0}.template-form-panel h3,.template-preview-panel h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700);margin:0 0 var(--space-3) 0}.template-form-panel .form-group{margin-bottom:var(--space-3)}.template-form-panel .form-group label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-1)}.template-form-panel .form-group input,.template-form-panel .form-group textarea{width:100%;padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-gray-700);box-sizing:border-box}.template-form-panel .form-group input:focus,.template-form-panel .form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.template-default-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600);cursor:pointer;margin-bottom:var(--space-3)}.template-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.permission-gate-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--color-text-secondary, #666)}.permission-gate-denied-title{font-size:var(--font-size-lg, 16px);font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0 0 .5rem}.permission-gate-denied-body{font-size:var(--font-size-base, 14px);margin:0;max-width:400px;line-height:1.5}.finance-page{max-width:1400px}.finance-page-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-5)}.finance-page-sidebar{min-width:0}@media(max-width:900px){.finance-page-layout{grid-template-columns:1fr}}.dr-form{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.dr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md, 16px)}.dr-form-label{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);font-weight:500;font-size:.875rem;color:var(--color-text-secondary, #555)}.dr-form-section{border:1px solid var(--color-border, #e0e0e0);border-radius:4px;padding:var(--spacing-md, 16px)}.dr-form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, 8px)}.dr-form-section-title{margin:0;font-size:1rem;font-weight:600}.dr-form-table{width:100%;border-collapse:collapse;font-size:.875rem}.dr-form-table th{text-align:left;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-weight:500;color:var(--color-text-secondary, #555);border-bottom:1px solid var(--color-border, #e0e0e0)}.dr-form-table td{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px)}.dr-form-number{width:120px;text-align:right}.dr-form-totals{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:var(--spacing-md, 16px);background:var(--color-surface, #fafafa);border-radius:4px}.dr-form-total-row{display:flex;justify-content:space-between;font-size:.875rem}.dr-form-total-net{font-weight:700;font-size:1rem;padding-top:var(--spacing-sm, 8px);border-top:1px solid var(--color-border, #e0e0e0)}.dr-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px)}.g702-preview{border:1px solid var(--color-border, #e0e0e0);border-radius:4px;padding:var(--spacing-lg, 24px);background:var(--color-bg, #fff);font-family:Courier New,monospace}.g702-header{text-align:center;margin-bottom:var(--spacing-lg, 24px);border-bottom:2px solid var(--color-text, #222);padding-bottom:var(--spacing-md, 16px)}.g702-title{margin:0;font-size:1.125rem;font-weight:700;text-transform:uppercase}.g702-subtitle{margin:var(--spacing-xs, 4px) 0 0;font-size:.875rem;color:var(--color-text-secondary, #555)}.g702-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-lg, 24px);padding:var(--spacing-sm, 8px);background:var(--color-surface, #fafafa);border-radius:4px}.g702-info-row{display:flex;flex-direction:column;gap:2px}.g702-info-label{font-size:.75rem;color:var(--color-text-secondary, #555);text-transform:uppercase}.g702-info-value{font-size:.875rem;font-weight:600}.g702-status{font-size:.875rem;font-weight:600;text-transform:capitalize}.g702-status--draft{color:var(--color-text-secondary, #555)}.g702-status--submitted{color:var(--color-info, #2563eb)}.g702-status--approved,.g702-status--funded{color:var(--color-success, #16a34a)}.g702-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg, 24px)}.g702-table td{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-bottom:1px solid var(--color-border, #e0e0e0);font-size:.875rem}.g702-line-num{width:40px;font-weight:500}.g702-line-desc{color:var(--color-text, #222)}.g702-line-amount{text-align:right;font-weight:500;white-space:nowrap}.g702-line-highlight td{font-weight:700;background:var(--color-surface, #fafafa);border-top:2px solid var(--color-text, #222);border-bottom:2px solid var(--color-text, #222)}.g702-signatures{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg, 24px);margin-top:var(--spacing-lg, 24px)}.g702-sig-block{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.g702-sig-label{font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--color-text-secondary, #555);margin:0}.g702-sig-line{height:1px;background:var(--color-text, #222);margin-top:var(--spacing-lg, 24px)}.g702-sig-date{font-size:.75rem;color:var(--color-text-secondary, #555);margin:0}.lw-tracker{border:1px solid var(--color-border, #e0e0e0);border-radius:4px;padding:var(--spacing-md, 16px)}.lw-tracker-header{display:flex;align-items:center;gap:var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px)}.lw-tracker-title{margin:0;font-size:1rem;font-weight:600}.lw-tracker-summary{display:flex;gap:var(--spacing-sm, 8px);flex:1}.lw-summary-item{font-size:.8125rem;color:var(--color-text-secondary, #555)}.lw-form{padding:var(--spacing-md, 16px);background:var(--color-surface, #fafafa);border-radius:4px;margin-bottom:var(--spacing-md, 16px)}.lw-form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-sm, 8px)}.lw-form-label{display:flex;flex-direction:column;gap:2px;font-size:.8125rem;font-weight:500}.lw-form-actions{margin-top:var(--spacing-sm, 8px);display:flex;justify-content:flex-end}.lw-empty{color:var(--color-text-secondary, #555);font-size:.875rem;text-align:center;padding:var(--spacing-lg, 24px)}.lw-table{width:100%;border-collapse:collapse;font-size:.875rem}.lw-table th{text-align:left;padding:var(--spacing-sm, 8px);font-weight:500;color:var(--color-text-secondary, #555);border-bottom:1px solid var(--color-border, #e0e0e0)}.lw-table td{padding:var(--spacing-sm, 8px);border-bottom:1px solid var(--color-border-light, #f0f0f0)}.lw-type{text-transform:capitalize}.lw-amount{text-align:right;font-variant-numeric:tabular-nums}.lw-status{font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:3px;text-transform:capitalize}.lw-status--pending{background:var(--color-warning-bg, #fef3cd);color:var(--color-warning, #b45309)}.lw-status--received{background:var(--color-success-bg, #d1fae5);color:var(--color-success, #16a34a)}.lw-status--waived{background:var(--color-info-bg, #dbeafe);color:var(--color-info, #2563eb)}.lw-actions{white-space:nowrap}.lw-error{color:var(--color-danger, #dc2626)}.ret-summary{border:1px solid var(--color-border, #e0e0e0);border-radius:4px;padding:var(--spacing-md, 16px)}.ret-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md, 16px)}.ret-summary-title{margin:0;font-size:1rem;font-weight:600}.ret-total{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.ret-total-label{font-size:.875rem;color:var(--color-text-secondary, #555)}.ret-total-amount{font-size:1.125rem;font-weight:700}.ret-table{width:100%;border-collapse:collapse;font-size:.875rem}.ret-table th{text-align:left;padding:var(--spacing-sm, 8px);font-weight:500;color:var(--color-text-secondary, #555);border-bottom:1px solid var(--color-border, #e0e0e0)}.ret-table td{padding:var(--spacing-sm, 8px);border-bottom:1px solid var(--color-border-light, #f0f0f0)}.ret-name{font-weight:500}.ret-amount{text-align:right;font-variant-numeric:tabular-nums}.ret-held{font-weight:600}.ret-rate{text-align:right}.ret-waiver-count{text-align:center}.ret-waiver-pending{color:var(--color-warning, #b45309);font-weight:600}.ret-waiver-none{color:var(--color-text-secondary, #555)}.ret-waiver-received{color:var(--color-success, #16a34a);font-weight:500}.ret-footer td{border-top:2px solid var(--color-border, #e0e0e0);font-weight:700}.ret-footer-label{font-weight:700}.ret-empty{color:var(--color-text-secondary, #555);font-size:.875rem;text-align:center;padding:var(--spacing-lg, 24px)}.ret-error{color:var(--color-danger, #dc2626)}.dr-page{padding:var(--spacing-md, 16px);max-width:1200px}.dr-page-header{display:flex;align-items:center;gap:var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px);flex-wrap:wrap}.dr-page-title-row{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex:1}.dr-page-title{margin:0;font-size:1.25rem;font-weight:700}.dr-page-count{font-size:.8125rem;color:var(--color-text-secondary, #555)}.dr-page-actions{display:flex;gap:var(--spacing-sm, 8px)}.dr-loading,.dr-error{text-align:center;padding:var(--spacing-xl, 32px)}.dr-error p{color:var(--color-danger, #dc2626)}.dr-form-wrapper{border:1px solid var(--color-border, #e0e0e0);border-radius:4px;padding:var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px)}.dr-form-heading{margin:0 0 var(--spacing-md, 16px);font-size:1rem;font-weight:600}.dr-filters{display:flex;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-md, 16px)}.dr-table-wrapper{overflow-x:auto}.dr-table{width:100%;border-collapse:collapse;font-size:.875rem}.dr-table th{text-align:left;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);font-weight:500;color:var(--color-text-secondary, #555);border-bottom:2px solid var(--color-border, #e0e0e0);white-space:nowrap}.dr-table td{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-bottom:1px solid var(--color-border-light, #f0f0f0)}.dr-table-row{cursor:pointer}.dr-table-row:hover{background:var(--color-surface, #fafafa)}.dr-table-empty{text-align:center;color:var(--color-text-secondary, #555);padding:var(--spacing-xl, 32px)}.dr-number-cell{font-weight:600;white-space:nowrap}.dr-period-cell{white-space:nowrap;font-size:.8125rem}.dr-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dr-net{font-weight:600}.dr-pct{text-align:right}.dr-status-badge{font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:3px;text-transform:capitalize}.dr-status--draft{background:var(--color-surface, #f5f5f5);color:var(--color-text-secondary, #555)}.dr-status--submitted{background:var(--color-info-bg, #dbeafe);color:var(--color-info, #2563eb)}.dr-status--approved{background:var(--color-success-bg, #d1fae5);color:var(--color-success, #16a34a)}.dr-status--funded{background:var(--color-success-bg, #d1fae5);color:var(--color-success, #065f46)}.dr-actions-cell{white-space:nowrap}.dr-actions-cell .btn{margin-right:var(--spacing-xs, 4px)}.dr-detail-actions{display:flex;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-md, 16px);flex-wrap:wrap}.dr-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border, #e0e0e0);margin-bottom:var(--spacing-md, 16px)}.dr-tab{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:none;background:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #555);border-bottom:2px solid transparent}.dr-tab:hover{color:var(--color-text, #222)}.dr-tab--active{color:var(--color-text, #222);border-bottom-color:var(--color-text, #222)}.dr-detail-content{min-height:300px}.dr-g703-view{overflow-x:auto}.dr-g703-table{width:100%;border-collapse:collapse;font-size:.875rem}.dr-g703-table th{text-align:left;padding:var(--spacing-sm, 8px);font-weight:500;color:var(--color-text-secondary, #555);border-bottom:2px solid var(--color-border, #e0e0e0)}.dr-g703-table td{padding:var(--spacing-sm, 8px);border-bottom:1px solid var(--color-border-light, #f0f0f0)}.dr-g703-table tfoot td{border-top:2px solid var(--color-border, #e0e0e0);font-weight:700}.receipt-review-page{padding:var(--space-6);max-width:960px}.receipt-review-header{margin-bottom:var(--space-4)}.review-notice{padding:var(--space-3) var(--space-4);background:var(--color-info-bg);color:var(--color-info-text);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4);border:1px solid var(--color-info-border)}.review-notice-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.review-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-4);align-items:start}.review-preview{background:var(--bg-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-3);position:sticky;top:var(--space-4)}.review-preview-image{width:100%;border-radius:var(--radius-sm);display:block}.review-form{display:flex;flex-direction:column;gap:var(--space-4)}.review-items-header{font-size:var(--font-size-xs);font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-2)}.review-items-list{display:flex;flex-direction:column;gap:var(--space-1)}.review-item-row{display:flex;justify-content:space-between;padding:var(--space-2);background:var(--color-gray-50);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.review-item-desc{color:var(--color-gray-600)}.review-item-amount{color:var(--color-gray-700);font-weight:500;font-variant-numeric:tabular-nums}@media(max-width:767px){.receipt-review-page{padding:var(--space-3)}.review-layout{grid-template-columns:1fr}.review-preview{position:static;max-height:200px;overflow:hidden}.review-preview-image{max-height:180px;object-fit:contain}.form-row{flex-direction:column}.form-row-2,.form-row-3{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.receipt-scanner-page{padding:var(--space-6);max-width:720px}.receipt-scanner-header{margin-bottom:var(--space-4)}.scanner-content{display:flex;flex-direction:column;gap:var(--space-4)}.scanner-drop-zone{border:2px dashed var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-10);text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s;min-height:240px;display:flex;align-items:center;justify-content:center}@media(hover:hover){.scanner-drop-zone:hover{border-color:var(--color-gray-300);background:var(--color-gray-50)}}.scanner-drop-zone-active{border-color:var(--color-accent);background:var(--color-accent-light)}.scanner-drop-zone-scanning{border-color:var(--color-accent);border-style:solid;cursor:default}.scanner-prompt{display:flex;flex-direction:column;gap:var(--space-1)}.scanner-title{font-size:var(--font-size-lg);font-weight:500;color:var(--color-gray-600)}.scanner-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-400)}.scanner-formats{font-size:var(--font-size-xs);color:var(--color-gray-300);margin-top:var(--space-2)}.scanner-processing{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.scanner-spinner{width:32px;height:32px;border:3px solid var(--color-gray-200);border-top-color:var(--color-accent);border-radius:50%;animation:scanner-spin .8s linear infinite}@keyframes scanner-spin{to{transform:rotate(360deg)}}.scanner-status{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600)}.scanner-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.scanner-alt-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.scanner-or{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px}.scanner-error{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}@media(max-width:767px){.receipt-scanner-page{padding:var(--space-3)}.scanner-drop-zone{min-height:160px;padding:var(--space-6)}.scanner-alt-actions{flex-direction:column;gap:var(--space-2)}.scanner-alt-actions .btn{width:100%}}.aipm-inferences{width:100%}.aipm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-16, 16px)}.aipm-header h3{margin:0;font-size:var(--font-lg, 16px);font-weight:600}.aipm-filters select{padding:6px 12px;border:1px solid var(--color-border, #dee2e6);border-radius:4px;font-size:var(--font-sm, 13px);background:var(--color-bg, #fff)}.aipm-loading,.aipm-error,.aipm-empty{padding:var(--space-16, 16px);text-align:center;color:var(--color-text-muted, #6c757d);font-size:var(--font-sm, 13px)}.aipm-error{color:var(--color-danger, #dc3545)}.aipm-list{display:flex;flex-direction:column;gap:var(--space-8, 8px)}.aipm-card{border:1px solid var(--color-border, #dee2e6);border-radius:4px;padding:var(--space-16, 16px);background:var(--color-bg, #fff)}.aipm-card--applied{border-left:3px solid var(--color-success, #28a745)}.aipm-card--pending{border-left:3px solid var(--color-warning, #ffc107)}.aipm-card--rejected{border-left:3px solid var(--color-danger, #dc3545);opacity:.7}.aipm-card--undone{border-left:3px solid var(--color-text-muted, #6c757d);opacity:.7}.aipm-card-header{display:flex;align-items:center;gap:var(--space-8, 8px);margin-bottom:var(--space-8, 8px)}.aipm-badge{display:inline-block;padding:2px 6px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:var(--color-info, #17a2b8);color:#fff;border-radius:3px}.aipm-status{font-size:var(--font-xs, 12px);font-weight:500;text-transform:capitalize}.aipm-status--applied{color:var(--color-success, #28a745)}.aipm-status--pending{color:var(--color-warning-text, #856404)}.aipm-status--rejected{color:var(--color-danger, #dc3545)}.aipm-status--undone{color:var(--color-text-muted, #6c757d)}.aipm-confidence{margin-left:auto;font-size:var(--font-xs, 12px);color:var(--color-text-muted, #6c757d)}.aipm-card-body{margin-bottom:var(--space-8, 8px)}.aipm-field{display:flex;gap:var(--space-8, 8px);align-items:baseline;margin-bottom:4px}.aipm-field-label{font-size:var(--font-sm, 13px);font-weight:500;color:var(--color-text-muted, #6c757d)}.aipm-field-value{font-size:var(--font-base, 14px);font-weight:600}.aipm-reasoning{font-size:var(--font-sm, 13px);color:var(--color-text-secondary, #495057);margin:4px 0;font-style:italic}.aipm-meta{display:flex;gap:var(--space-16, 16px);font-size:var(--font-xs, 12px);color:var(--color-text-muted, #6c757d)}.aipm-card-actions{display:flex;gap:var(--space-8, 8px)}.aipm-btn{padding:4px 12px;font-size:var(--font-sm, 13px);font-weight:500;border:1px solid var(--color-border, #dee2e6);border-radius:4px;background:var(--color-bg, #fff);cursor:pointer}.aipm-btn:disabled{opacity:.5;cursor:not-allowed}.aipm-btn--approve{color:var(--color-success, #28a745);border-color:var(--color-success, #28a745)}.aipm-btn--approve:hover:not(:disabled){background:var(--color-success, #28a745);color:#fff}.aipm-btn--reject{color:var(--color-danger, #dc3545);border-color:var(--color-danger, #dc3545)}.aipm-btn--reject:hover:not(:disabled){background:var(--color-danger, #dc3545);color:#fff}.aipm-btn--undo{color:var(--color-text-muted, #6c757d);border-color:var(--color-text-muted, #6c757d)}.aipm-btn--undo:hover:not(:disabled){background:var(--color-text-muted, #6c757d);color:#fff}.aipm-settings{max-width:800px}.aipm-settings-header{margin-bottom:var(--space-24, 24px)}.aipm-settings-header h2{margin:0 0 4px;font-size:var(--font-xl, 20px);font-weight:600}.aipm-settings-description{margin:0;font-size:var(--font-sm, 13px);color:var(--color-text-muted, #6c757d)}.aipm-settings-loading,.aipm-settings-error{padding:var(--space-24, 24px);text-align:center;color:var(--color-text-muted, #6c757d)}.aipm-settings-error{color:var(--color-danger, #dc3545)}.aipm-settings-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border, #dee2e6);margin-bottom:var(--space-24, 24px)}.aipm-tab{padding:8px 16px;font-size:var(--font-sm, 13px);font-weight:500;color:var(--color-text-muted, #6c757d);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.aipm-tab:hover{color:var(--color-text, #212529)}.aipm-tab--active{color:var(--color-primary, #0d6efd);border-bottom-color:var(--color-primary, #0d6efd)}.aipm-config-form{display:flex;flex-direction:column;gap:var(--space-24, 24px)}.aipm-config-section h3{margin:0 0 8px;font-size:var(--font-base, 14px);font-weight:600}.aipm-config-hint{margin:0 0 8px;font-size:var(--font-xs, 12px);color:var(--color-text-muted, #6c757d)}.aipm-config-toggle{display:flex;align-items:center;gap:var(--space-8, 8px);margin-bottom:8px;font-size:var(--font-sm, 13px);cursor:pointer}.aipm-config-toggle input[type=checkbox]{width:16px;height:16px}.aipm-config-slider{display:flex;align-items:center;gap:var(--space-8, 8px)}.aipm-config-slider input[type=range]{flex:1}.aipm-config-slider-value{font-size:var(--font-sm, 13px);font-weight:600;min-width:40px;text-align:right}.aipm-config-input{padding:6px 12px;border:1px solid var(--color-border, #dee2e6);border-radius:4px;font-size:var(--font-sm, 13px);width:80px}.aipm-config-actions{padding-top:var(--space-16, 16px);border-top:1px solid var(--color-border, #dee2e6)}.aipm-config-save{padding:8px 24px;font-size:var(--font-sm, 13px);font-weight:500;background:var(--color-primary, #0d6efd);color:#fff;border:none;border-radius:4px;cursor:pointer}.aipm-config-save:hover:not(:disabled){opacity:.9}.aipm-config-save:disabled{opacity:.5;cursor:not-allowed}.credential-warning{display:flex;align-items:center;gap:var(--space-3);padding:10px 16px;background:var(--color-warning-bg, #fff8e6);border:1px solid var(--color-warning-border, #ffe0a0);border-radius:6px;margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.credential-warning-text{color:var(--color-warning-text, #946200)}.credential-warning-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;text-decoration:underline;padding:0}@media(hover:hover){.credential-warning-link:hover{color:var(--color-accent-hover)}}.wizard-page{max-width:800px;margin:0 auto;padding:var(--space-6) 0}.wizard-progress{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);position:relative;padding-bottom:var(--space-4)}.wizard-step{display:flex;align-items:center;gap:var(--space-2);z-index:1}.wizard-step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;background:var(--color-gray-100);color:var(--color-gray-400);flex-shrink:0}.wizard-step-active .wizard-step-number{background:var(--color-accent);color:#fff}.wizard-step-done .wizard-step-number{background:var(--color-success);color:#fff}.wizard-step-label{font-size:var(--font-size-sm);color:var(--color-gray-400);white-space:nowrap}.wizard-step-active .wizard-step-label{color:var(--color-gray-700);font-weight:600}.wizard-step-done .wizard-step-label{color:var(--color-gray-600)}.wizard-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-gray-100);border-radius:2px}.wizard-progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.wizard-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.wizard-content{min-height:400px}.wizard-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-1)}.wizard-section-desc{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-bottom:var(--space-6)}.wizard-loading{text-align:center;padding:var(--space-12);color:var(--color-gray-400);font-size:var(--font-size-sm)}.wizard-empty{text-align:center;padding:var(--space-8);color:var(--color-gray-400);font-size:var(--font-size-sm)}.wizard-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.wizard-type-card{background:var(--bg-surface);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:var(--space-2)}@media(hover:hover){.wizard-type-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}}.wizard-type-card-selected{border-color:var(--color-accent);background:var(--color-accent-light)}.wizard-type-icon{font-size:28px;line-height:1}.wizard-type-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-700)}.wizard-type-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);line-height:1.4}.wizard-type-tools{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:500;margin-top:var(--space-1)}.wizard-template{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-5)}.wizard-template-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.wizard-template-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-700)}.wizard-template-version{font-size:var(--font-size-xs);color:var(--color-gray-400);background:var(--color-gray-100);padding:2px var(--space-2);border-radius:var(--radius-sm)}.wizard-template-desc{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-bottom:var(--space-5)}.wizard-template-files-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.wizard-file-section{margin-bottom:var(--space-2)}.wizard-file-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600);cursor:pointer;text-align:left;font-family:inherit}@media(hover:hover){.wizard-file-toggle:hover{background:var(--color-gray-100)}}.wizard-file-arrow{font-size:10px;color:var(--color-gray-400);width:12px}.wizard-file-content{margin-top:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:0 0 var(--radius-sm) var(--radius-sm);font-size:var(--font-size-xs);font-family:SF Mono,Fira Code,Fira Mono,monospace;color:var(--color-gray-600);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;line-height:1.6}.wizard-form{display:flex;flex-direction:column;gap:var(--space-5)}.wizard-field{display:flex;flex-direction:column;gap:var(--space-2)}.wizard-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600)}.wizard-input,.wizard-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;color:var(--color-gray-700);background:var(--bg-surface);outline:none;transition:border-color .15s}.wizard-input:focus,.wizard-select:focus{border-color:var(--color-accent)}.wizard-input-number{max-width:120px}.wizard-field-loading,.wizard-field-empty{font-size:var(--font-size-sm);color:var(--color-gray-400)}.wizard-skills-grid{display:flex;flex-direction:column;gap:var(--space-2)}.wizard-skill-check{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-100);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}@media(hover:hover){.wizard-skill-check:hover{background:var(--color-gray-50)}}.wizard-skill-check input[type=checkbox]{margin-top:2px;flex-shrink:0}.wizard-skill-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.wizard-skill-desc{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-left:auto}.wizard-review{background:var(--bg-surface);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.wizard-review-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-gray-100)}.wizard-review-row:last-child{border-bottom:none}.wizard-review-label{font-size:var(--font-size-sm);color:var(--color-gray-500);font-weight:500;flex-shrink:0;min-width:120px}.wizard-review-value{font-size:var(--font-size-sm);color:var(--color-gray-700);text-align:right;word-break:break-word}.wizard-review-cost{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:var(--color-accent-light);border-top:1px solid var(--color-gray-200)}.wizard-review-cost-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600)}.wizard-review-cost-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent)}.wizard-nav{display:flex;align-items:center;padding-top:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--color-gray-100)}.wizard-nav-spacer{flex:1}.wizard-btn{padding:var(--space-2) var(--space-5);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.wizard-btn:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-back{background:var(--bg-surface);color:var(--color-gray-600)}@media(hover:hover){.wizard-btn-back:hover:not(:disabled){background:var(--color-gray-50)}}.wizard-btn-next{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@media(hover:hover){.wizard-btn-next:hover:not(:disabled){background:var(--color-accent-hover)}}.wizard-btn-create{background:var(--color-success);color:#fff;border-color:var(--color-success)}@media(hover:hover){.wizard-btn-create:hover:not(:disabled){background:var(--color-success-text)}}@media(hover:none){.wizard-step-number{min-width:44px;min-height:44px}}@media(max-width:767px){.wizard-page{padding:var(--space-3) 0}.wizard-type-grid{grid-template-columns:1fr}.wizard-progress{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:var(--space-2);padding-bottom:var(--space-2)}.wizard-step-label{display:none}.wizard-review-row{flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.wizard-review-value{text-align:left}.wizard-content{min-height:200px}.wizard-nav{flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4);margin-top:var(--space-4)}}.app{display:flex;min-height:100vh}.app-body{display:flex;flex-direction:column;flex:1;min-width:0}.app-main{flex:1;padding:var(--space-6);overflow-y:auto;background-color:var(--bg-app)}@media(max-width:767px){.app{display:block}.app-body{width:100%}.app-main{padding:var(--space-3)}}
