.myday-page{padding:24px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.myday-header h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1f2937)}.myday-header__meta{margin:4px 0 0;color:var(--text-secondary, #6b7280);font-size:14px}.myday-panel{background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:16px}.myday-panel--half{flex:1;min-width:0}.myday-row{display:flex;gap:16px}.myday-panel__header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color, #e5e7eb)}.myday-panel__header h2{margin:0;font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-primary, #1f2937)}.myday-panel__count{margin-left:auto;background:var(--bg-tertiary, #f3f4f6);color:var(--text-secondary, #6b7280);font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.myday-panel__empty{color:var(--text-secondary, #6b7280);font-size:13px;font-style:italic;padding:12px 4px}.myday-empty{background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary, #1f2937);padding:12px 16px;border-radius:8px;border-left:4px solid var(--accent, #00a88e)}.myday-focus__list{list-style:decimal inside;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.myday-focus__item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tertiary, #f9fafb);border-radius:6px;border-left:4px solid var(--border-color, #e5e7eb)}.myday-focus__item--p1{border-left-color:var(--danger, #ad2a2a)}.myday-focus__item--p2{border-left-color:var(--data-orange, #d2785a)}.myday-focus__item--p3{border-left-color:var(--warning, #dbd99a)}.myday-focus__icon{color:var(--text-secondary, #6b7280);flex-shrink:0}.myday-focus__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.myday-focus__client{font-size:14px;color:var(--text-primary, #1f2937)}.myday-focus__headline{font-size:12px;color:var(--text-secondary, #6b7280)}.myday-focus__meta{font-size:12px;font-weight:600;color:var(--text-primary, #1f2937)}.myday-focus__cta{background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e5e7eb);color:var(--text-primary, #1f2937);padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.myday-focus__cta:hover{background:var(--bg-hover, #f3f4f6)}.myday-focus__cta:focus-visible{outline:2px solid var(--accent, #00a88e);outline-offset:2px}.myday-pulse__table{width:100%;border-collapse:collapse;font-size:13px}.myday-pulse__table th,.myday-pulse__table td{padding:8px 4px;text-align:left;border-bottom:1px solid var(--border-light, #f3f4f6)}.myday-pulse__table th{font-size:11px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.02em}.myday-pulse__table tr:last-child td{border-bottom:0}.myday-pulse__table .text-right{text-align:right}.myday-pulse__header{flex-wrap:wrap}.myday-pulse__year{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;text-transform:none;letter-spacing:0}.myday-pulse__year-label{color:var(--text-secondary, #6b7280);font-weight:600}.myday-pulse__year select{font-size:12px;padding:2px 6px;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;background:var(--bg-secondary, #fff);color:var(--text-primary, #1f2937)}.myday-pulse__loading{font-size:11px;color:var(--text-secondary, #6b7280);font-weight:500;text-transform:none;letter-spacing:0}.myday-activity__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.myday-activity__row{width:100%;background:transparent;border:0;text-align:left;padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-radius:4px}.myday-activity__row:hover{background:var(--bg-hover, #f3f4f6)}.myday-activity__client{font-size:12px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.02em}.myday-activity__title{font-size:13px;color:var(--text-primary, #1f2937);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.myday-clients__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.myday-clients__row{width:100%;background:var(--bg-tertiary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left}.myday-clients__row:hover{background:var(--bg-secondary, #ffffff);border-color:var(--accent, #00a88e)}.myday-clients__name{font-weight:600;font-size:13px;color:var(--text-primary, #1f2937)}.myday-clients__chips{display:flex;flex-wrap:wrap;gap:4px}.myday-chip{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.myday-chip--danger{background:var(--danger-light, #f8e8e8);color:var(--danger, #ad2a2a)}.myday-chip--warning{background:#fdf6c4;color:#6e6306}.myday-chip--info{background:var(--info-light, #e5edf5);color:var(--info, #3e7ca6)}.myday-skeleton{display:flex;flex-direction:column;gap:16px}.myday-skeleton__panel{height:120px;border-radius:8px;background:linear-gradient(90deg,var(--bg-tertiary, #f9fafb) 25%,var(--border-color, #e5e7eb) 50%,var(--bg-tertiary, #f9fafb) 75%);background-size:200% 100%;animation:myday-shimmer 1.6s ease-in-out infinite}@keyframes myday-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 900px){.myday-row{flex-direction:column}}@media (max-width: 600px){.myday-page{padding:16px}.myday-focus__cta{padding:6px 8px}.myday-focus__item{flex-wrap:wrap}.myday-focus__body{flex:1 1 100%}.myday-clients__list{grid-template-columns:1fr}}.zone-select{position:relative}.zone-select-box{position:relative;display:flex;align-items:center}.zone-select-box input{width:100%;padding-right:52px}.zone-select-chevron{position:absolute;right:10px;color:var(--text-muted, #96B3B6);pointer-events:none}.zone-select-clear{position:absolute;right:28px;display:inline-flex;align-items:center;padding:2px;border:none;background:transparent;color:var(--text-muted, #96B3B6);cursor:pointer}.zone-select-clear:hover{color:var(--text-primary, #FFFFFF)}.zone-select-list{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;max-height:260px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--bg-secondary, #032842);border:1px solid var(--border-light, #538184);border-radius:6px;box-shadow:0 8px 24px #00000059}.zone-select-option{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;cursor:pointer;color:var(--text-primary, #FFFFFF)}.zone-select-option.is-active{background:var(--bg-hover, #538184)}.zone-select-option.is-selected .zone-select-name{font-weight:600;color:var(--accent, #17E88F)}.zone-select-rto{color:var(--text-muted, #96B3B6);font-size:.85em;white-space:nowrap}.zone-select-empty{padding:8px 10px;color:var(--text-muted, #96B3B6)}.zone-select-legacy{display:block;margin-top:2px;color:var(--warning-text, #DBD99A);font-size:.75rem}.bulk-import__paste,.bulk-import__preview,.bulk-import__results{display:flex;flex-direction:column;gap:12px}.bulk-import__intro{margin:0;font-size:13px;color:var(--text-secondary, #6b7280);line-height:1.5}.bulk-import__intro code{background:var(--bg-tertiary, #f9fafb);border-radius:3px;padding:1px 4px;font-size:12px;color:var(--text-primary, #1f2937)}.bulk-import__textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;padding:10px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;resize:vertical;min-height:200px}.bulk-import__textarea:focus-visible{outline:2px solid var(--accent, #00a88e);outline-offset:2px}.bulk-import__error{display:flex;gap:8px;align-items:flex-start;background:var(--danger-light, #f8e8e8);color:var(--danger, #ad2a2a);padding:10px 12px;border-radius:6px;font-size:13px}.bulk-import__error ul{margin:4px 0 0;padding-left:18px}.bulk-import__hint{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:13px;color:var(--success, #1e7a4a)}.bulk-import__summary{display:flex;gap:8px}.bulk-import__summary-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.bulk-import__summary-chip--ok{background:var(--success-light, #e0f5e8);color:var(--success, #1e7a4a)}.bulk-import__summary-chip--err{background:var(--danger-light, #f8e8e8);color:var(--danger, #ad2a2a)}.bulk-import__table-wrap{max-height:360px;overflow:auto;border:1px solid var(--border-color, #e5e7eb);border-radius:6px}.bulk-import__table{width:100%;border-collapse:collapse;font-size:12px}.bulk-import__table th,.bulk-import__table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-light, #f3f4f6);white-space:nowrap}.bulk-import__table th{position:sticky;top:0;background:var(--bg-tertiary, #f9fafb);font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;font-size:11px;letter-spacing:.02em}.bulk-import__row--invalid td{background:var(--danger-light, #fdf2f2)}.bulk-import__cell--ok{color:var(--success, #1e7a4a);font-weight:600}.bulk-import__cell--err{color:var(--danger, #ad2a2a);font-weight:500}.bulk-import__center{text-align:center;padding:32px;color:var(--text-secondary, #6b7280)}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.error-boundary{display:flex;align-items:center;justify-content:center;background-color:#ad2a2a0d;border:1px solid var(--danger);border-radius:var(--radius-md)}.error-boundary-content{text-align:center;padding:var(--spacing-xl);max-width:500px}.error-boundary-icon{color:var(--danger);margin-bottom:var(--spacing-md)}.error-boundary-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-sm) 0}.error-boundary-message{color:var(--text-secondary);font-size:.9rem;margin:0 0 var(--spacing-lg) 0;line-height:1.5}.error-boundary-actions{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.error-boundary-actions .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.error-boundary-details{text-align:left;margin-bottom:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-size:.75rem;max-height:200px;overflow:auto}.error-boundary-details summary{cursor:pointer;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.error-boundary-details pre{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--danger)}.error-boundary-app{min-height:100vh;background-color:var(--bg-primary)}.error-boundary-app .error-boundary-content{padding:var(--spacing-xxl)}.error-boundary-app .error-boundary-title{font-size:1.5rem}.error-boundary-page{min-height:400px;margin:var(--spacing-lg)}.error-boundary-modal{min-height:200px;border:none;background:transparent}.error-boundary-modal .error-boundary-content{padding:var(--spacing-lg)}.error-boundary-chart{display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border:1px dashed var(--border-color)}.error-boundary-chart .error-boundary-content{padding:var(--spacing-md)}.error-boundary-chart .error-boundary-message{font-size:.85rem;margin-bottom:var(--spacing-sm)}.error-boundary-inline{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;color:var(--danger);background:transparent;border:none}.onboarding-page .ob-step-counter{font-size:.85rem;font-weight:400;color:var(--text-secondary, #888)}.ob-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1.25rem;align-items:start}.ob-checklist{position:sticky;top:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.ob-checklist h4{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #888)}.ob-checklist ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.ob-checklist-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;background:none;border:none;border-radius:6px;color:var(--text-primary);font-size:.85rem;text-align:left;cursor:pointer}.ob-checklist-item:disabled{color:var(--text-secondary, #888);cursor:default}.ob-checklist-item.current{background:var(--accent-light);font-weight:600}.ob-checklist-item.done .ob-checklist-icon{color:var(--success)}.ob-checklist-item.error .ob-checklist-icon{color:var(--danger)}.ob-checklist-icon{display:inline-flex;width:16px;justify-content:center}.ob-checklist-label{flex:1}.ob-checklist-count{background:var(--accent-light);color:var(--accent);border-radius:10px;font-size:.7rem;font-weight:600;padding:.05rem .45rem}.ob-checklist-optional{font-size:.65rem;color:var(--text-secondary, #888)}.ob-card{border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1rem}.ob-card-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:.75rem}.ob-subsection{margin-top:.75rem}.ob-subsection-title{display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary, #888)}.ob-fieldset{border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;margin:0 0 1rem}.ob-fieldset legend{font-size:.85rem;font-weight:600;padding:0 .4rem}.ob-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.35rem 1rem}.ob-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer}.ob-meter-row{align-items:end}.ob-row-remove{margin-bottom:.4rem}.ob-table-wrap{overflow-x:auto;margin-bottom:1rem}.ob-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.ob-table-wrap .ob-table{margin-bottom:0}.ob-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #888);padding:.4rem .5rem;border-bottom:1px solid var(--border-color)}.ob-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border-color)}.ob-table input,.ob-table select{width:100%;min-width:70px}.ob-credentials{text-align:left;margin-top:1rem}.ob-credential-card{border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.ob-credential-field{display:flex;align-items:center;gap:.75rem;width:100%}.ob-credential-label{width:110px;font-size:.8rem;color:var(--text-secondary, #888)}.ob-credential-field code{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:.35rem .6rem;font-size:.9rem;word-break:break-all}@media (max-width: 900px){.ob-layout{grid-template-columns:1fr}.ob-checklist{position:static;order:-1}}.toolbox-page .toolbox-tab-picker{display:none}@media (max-width: 768px){.toolbox-page .toolbox-tab-picker{display:block;margin:.5rem 0 1rem}.toolbox-page .toolbox-tab-nav{display:none!important}.toolbox-page .checkbox-label{width:auto;min-height:44px}.toolbox-page .toolbox-run{position:sticky;bottom:12px;z-index:5}.toolbox-page button.toolbox-run,.toolbox-page .toolbox-run>button{min-height:44px;box-shadow:0 4px 14px #00000040}.toolbox-page div.toolbox-run{pointer-events:none}.toolbox-page div.toolbox-run>*{pointer-events:auto}.toolbox-page input[type=checkbox],.toolbox-page input[type=radio]{width:20px;height:20px;flex:none}.toolbox-page .btn-sm{min-height:40px}.toolbox-page table.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.ops-tabs{display:flex;gap:2px;margin-bottom:20px;border-bottom:1px solid var(--border-color);overflow-x:auto}.ops-tab{flex:0 0 auto;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease}.ops-tab:hover{color:var(--text-primary)}.ops-tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.ops-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ops-group{margin-top:12px}.ops-group-head{display:flex;gap:10px;align-items:center;width:100%;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:600;text-align:left;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer}.ops-group-head:hover{border-color:var(--border-light)}.ops-group-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ops-group-head .ops-chevron{flex:0 0 auto;color:var(--text-muted);transition:transform .15s ease}.ops-group-head[aria-expanded=true] .ops-chevron{transform:rotate(90deg)}.ops-count{margin-left:auto;font-size:12px;font-weight:500;color:var(--text-muted)}.ops-group-body{padding-top:12px}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px}.ops-grid .card+.card{margin-top:0}.ops-action{padding:0;overflow:hidden}.ops-action.is-open{grid-column:1 / -1}.ops-action.is-destructive{border-left:3px solid var(--danger)}.ops-action-head{display:flex;gap:10px;align-items:flex-start;width:100%;padding:14px 16px;font-family:inherit;text-align:left;background:none;border:none;cursor:pointer;color:inherit}.ops-action-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ops-action-head .ops-chevron{flex:0 0 auto;margin-top:3px;color:var(--text-muted);transition:transform .15s ease}.ops-action-head[aria-expanded=true] .ops-chevron{transform:rotate(90deg)}.ops-action-title{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.ops-action-desc{display:block;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--text-secondary)}.ops-action-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:11.5px;color:var(--text-muted)}.ops-action-body{padding:14px 16px 16px;border-top:1px solid var(--border-color);margin-top:2px}.ops-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;font-size:11px;font-weight:500;border-radius:999px;border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap}.ops-estimate{display:block;width:100%;font-size:11.5px;line-height:1.45;color:var(--text-muted);overflow-wrap:anywhere}.ops-badge.is-destructive{color:var(--danger-text);border-color:var(--danger)}.ops-badge.is-running{color:var(--info-text);border-color:var(--info)}.ops-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:14px;margin-bottom:14px}.ops-field.is-wide{grid-column:1 / -1}.ops-field-label{display:block;margin-bottom:4px;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.ops-req{color:var(--danger-text)}.ops-field-help{margin-top:4px;font-size:11.5px;line-height:1.4;color:var(--text-muted)}.ops-check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-primary);cursor:pointer}.ops-check input{flex:0 0 auto;width:15px;height:15px;accent-color:var(--accent)}.ops-multi-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.ops-multi-head .ops-field-label{margin-bottom:0}.ops-multi-tools{display:flex;gap:4px;margin-left:auto}.ops-linkbtn{padding:0 2px;font-family:inherit;font-size:11.5px;color:var(--accent);background:none;border:none;cursor:pointer;text-decoration:underline}.ops-linkbtn:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.ops-linkbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ops-multi-count{margin-top:4px;font-size:11.5px;font-weight:500;color:var(--text-secondary)}.ops-banner{display:flex;gap:8px;align-items:flex-start;padding:9px 12px;margin:0 0 12px;font-size:12.5px;line-height:1.45;border-left:3px solid var(--border-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--bg-tertiary);color:var(--text-primary)}.ops-banner svg{flex:0 0 auto;margin-top:1px}.ops-banner code{font-family:var(--font-mono);font-size:11.5px;overflow-wrap:anywhere}.ops-banner.is-info{border-left-color:var(--info)}.ops-banner.is-warn{border-left-color:var(--warning)}.ops-banner.is-danger{border-left-color:var(--danger)}.ops-banner.is-ok{border-left-color:var(--success)}.ops-banner:last-child{margin-bottom:0}.ops-panel-head{display:flex;gap:8px;align-items:center;margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.ops-panel-head .ops-panel-action{margin-left:auto}.ops-panel-note{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:var(--text-secondary)}.ops-panel-foot{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-muted)}.ops-table-wrap{overflow-x:auto}.ops-table-wrap.is-capped{max-height:300px;overflow-y:auto}.ops-mono{font-family:var(--font-mono);font-size:12px}.ops-json{margin:12px 0 0;max-height:260px;overflow:auto;padding:10px 12px;font-family:var(--font-mono);font-size:11.5px;line-height:1.5;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.ops-status-running{color:var(--info-text);font-weight:500}.ops-status-success{color:var(--success);font-weight:500}.ops-status-error{color:var(--danger-text);font-weight:500}.ops-status-idle{color:var(--text-muted);font-weight:500}.ops-err-text{color:var(--danger-text)}.ops-result-cell{max-width:320px;font-size:12px;overflow-wrap:anywhere}.ops-progress{position:relative;height:4px;margin-top:4px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.ops-progress>span{display:block;height:100%;background:var(--info)}.ops-kpis{display:flex;flex-wrap:wrap;gap:24px;margin:14px 0}.ops-kpi-value{font-size:22px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.ops-kpi-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ops-actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ops-hint{font-size:11.5px;color:var(--text-muted)}.ops-expand-all{display:flex;gap:10px;align-items:center;margin:0 0 12px}@media (max-width: 640px){.ops-fields,.ops-grid{grid-template-columns:1fr}}.pm-chat-launcher{position:fixed;right:20px;bottom:20px;z-index:900;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:999px;background:var(--accent, #1e6091);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px #00000040;transition:transform .12s ease,box-shadow .12s ease}.pm-chat-launcher:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0000004d}.pm-chat-launcher:focus-visible{outline:3px solid var(--accent, #ffbf47);outline-offset:2px}.pm-chat-panel{position:fixed;right:16px;bottom:16px;width:440px;max-width:calc(100vw - 32px);height:640px;max-height:calc(100vh - 32px);z-index:950;background:var(--bg-secondary, #fff);border:1px solid var(--border-color, #e1e4e8);border-radius:12px;box-shadow:0 16px 48px #0003;display:flex;flex-direction:column;overflow:hidden}.pm-chat-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color, #e1e4e8);background:var(--bg-tertiary, #f7f8fa)}.pm-chat-title{flex:1;display:flex;flex-direction:column;font-size:14px;color:var(--text-primary, #24292f)}.pm-chat-subtitle{font-size:11px;color:var(--text-muted, #6e7781);font-weight:400}.pm-chat-icon-btn{background:transparent;border:none;padding:6px;border-radius:6px;cursor:pointer;color:var(--text-muted, #57606a);display:inline-flex;align-items:center;justify-content:center}.pm-chat-icon-btn:hover{background:var(--bg-hover, #eaeef2);color:var(--text-primary, #24292f)}.pm-chat-icon-btn:focus-visible{outline:2px solid var(--accent, #1e6091);outline-offset:1px}.pm-chat-body{flex:1;display:flex;min-height:0}.pm-chat-sidebar{width:160px;border-right:1px solid var(--border-color, #e1e4e8);background:var(--bg-tertiary, #f7f8fa);overflow-y:auto;padding:6px}.pm-chat-side-item{display:flex;align-items:stretch;width:100%;background:transparent;border-radius:6px;margin-bottom:2px;font-size:12px;color:var(--text-primary, #24292f);overflow:hidden}.pm-chat-side-item:hover{background:var(--bg-hover, #eaeef2)}.pm-chat-side-item.active{background:var(--accent-light, #ddebf6);font-weight:600}.pm-chat-side-item-main{flex:1;text-align:left;background:transparent;border:none;padding:8px 4px 8px 10px;cursor:pointer;color:inherit;font:inherit;min-width:0}.pm-chat-side-item-main:focus-visible{outline:2px solid var(--accent, #1e6091);outline-offset:-2px;border-radius:4px}.pm-chat-side-delete{flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0 6px;cursor:pointer;color:var(--text-muted, #6e7781);opacity:0;transition:opacity .1s ease,color .1s ease}.pm-chat-side-item:hover .pm-chat-side-delete,.pm-chat-side-item:focus-within .pm-chat-side-delete{opacity:1}.pm-chat-side-delete:hover{color:var(--danger, #c0392b)}.pm-chat-side-delete:focus-visible{opacity:1;outline:2px solid var(--danger, #c0392b);outline-offset:-2px;border-radius:4px}.pm-chat-side-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-chat-side-date{font-size:10px;color:var(--text-muted, #6e7781);margin-top:2px}.pm-chat-empty-side{padding:12px;font-size:12px;color:var(--text-muted, #6e7781)}.pm-chat-thread{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.pm-chat-empty{padding:20px 12px;text-align:center;color:var(--text-muted, #57606a)}.pm-chat-empty h4{margin:0 0 6px;color:var(--text-primary, #24292f);font-size:15px}.pm-chat-empty p{margin:0 0 14px;font-size:13px;line-height:1.5}.pm-chat-quick-prompts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pm-chat-quick-prompt{font-size:12px;padding:6px 10px;border-radius:14px;border:1px solid var(--border-color, #e1e4e8);background:var(--bg-secondary, #fff);cursor:pointer;color:var(--text-primary, #24292f);text-align:left;max-width:100%}.pm-chat-quick-prompt:hover{border-color:var(--accent, #1e6091);color:var(--accent, #1e6091)}.pm-chat-bubble{max-width:85%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word}.pm-chat-bubble.user{align-self:flex-end;background:var(--accent, #1e6091);color:#fff;border-bottom-right-radius:3px}.pm-chat-bubble.assistant{align-self:flex-start;background:var(--bg-tertiary, #f1f3f5);color:var(--text-primary, #24292f);border-bottom-left-radius:3px}.pm-chat-content.err{color:var(--danger, #c0392b)}.pm-chat-tool-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.pm-chat-tool-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 6px;border-radius:10px;background:var(--accent-light, #ddebf6);color:var(--accent, #1e6091);font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace)}.pm-chat-tool-badge.pending{opacity:.7}.pm-chat-tool-badge.err{background:#fbe9e9;color:var(--danger, #c0392b)}.pm-chat-meta{font-size:10px;color:var(--text-muted, #6e7781);margin-top:4px;display:flex;align-items:center;gap:8px}.pm-chat-copy-btn{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 6px;border:1px solid var(--border-color, #e1e4e8);border-radius:10px;background:var(--bg-secondary, #fff);color:var(--text-muted, #6e7781);cursor:pointer}.pm-chat-copy-btn:hover{background:var(--accent-light, #ddebf6);color:var(--accent, #1e6091)}.pm-chat-copy-btn:focus-visible{outline:3px solid var(--accent, #ffbf47);outline-offset:2px}.pm-chat-copy-btn.copied{background:#e6f4ea;color:var(--success, #1e7e34);border-color:#b7e1c1}.pm-chat-action-card{align-self:flex-start;max-width:92%;width:92%;border:1px solid var(--warning-border, #f0d58c);border-left:4px solid var(--warning, #b8860b);border-radius:10px;background:var(--warning-bg, #fdf7e7);padding:10px 12px;font-size:12.5px;color:var(--text-primary, #24292f)}.pm-chat-action-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--warning, #8a6d1a)}.pm-chat-action-type{font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace);font-size:11px;font-weight:600}.pm-chat-action-badge{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:10px;background:var(--warning, #b8860b);color:#fff}.pm-chat-action-summary{font-weight:600;line-height:1.45;margin-bottom:8px}.pm-chat-action-params{width:100%;border-collapse:collapse;margin-bottom:8px;font-size:11.5px}.pm-chat-action-params td{padding:3px 6px;border-top:1px solid var(--warning-border, #f0d58c);vertical-align:top;word-break:break-word}.pm-chat-action-param-key{width:34%;color:var(--text-muted, #6e7781);font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace);white-space:nowrap}.pm-chat-action-note{font-size:11px;font-style:italic;color:var(--text-muted, #6e7781);margin-bottom:8px}.pm-chat-action-result{display:flex;align-items:flex-start;gap:6px;font-size:12px;padding:6px 8px;border-radius:6px;margin-bottom:8px;line-height:1.4}.pm-chat-action-result.ok{background:#e6f4ea;color:var(--success, #1e7e34)}.pm-chat-action-result.err{background:#fbe9e9;color:var(--danger, #c0392b)}.pm-chat-action-result.muted{background:var(--bg-tertiary, #f1f3f5);color:var(--text-muted, #6e7781)}.pm-chat-action-buttons{display:flex;gap:8px}.pm-chat-action-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;border:1px solid transparent;cursor:pointer}.pm-chat-action-btn.confirm{background:var(--accent, #1e6091);color:#fff}.pm-chat-action-btn.confirm:hover:not(:disabled){filter:brightness(1.1)}.pm-chat-action-btn.reject{background:var(--bg-secondary, #fff);color:var(--danger, #c0392b);border-color:var(--border-color, #e1e4e8)}.pm-chat-action-btn.reject:hover:not(:disabled){background:#fbe9e9;border-color:var(--danger, #c0392b)}.pm-chat-action-btn:disabled{opacity:.5;cursor:not-allowed}.pm-chat-action-btn:focus-visible{outline:3px solid var(--accent, #ffbf47);outline-offset:2px}.pm-chat-composer{border-top:1px solid var(--border-color, #e1e4e8);padding:8px 10px;display:flex;gap:8px;align-items:flex-end;background:var(--bg-secondary, #fff)}.pm-chat-input{flex:1;resize:none;min-height:36px;max-height:120px;padding:8px 10px;font:inherit;font-size:13px;border:1px solid var(--border-color, #d0d7de);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-primary, #24292f)}.pm-chat-input:focus{outline:none;border-color:var(--accent, #1e6091)}.pm-chat-send{width:36px;height:36px;border-radius:8px;border:none;background:var(--accent, #1e6091);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pm-chat-send:disabled{background:#aab3bd;cursor:not-allowed}.pm-chat-send:hover:not(:disabled){filter:brightness(1.1)}.pm-chat-error{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:#fbe9e9;color:var(--danger, #c0392b);font-size:12px;margin-bottom:8px}@media (max-width: 640px){.pm-chat-panel{right:0;left:0;bottom:0;width:100%;max-width:none;height:80vh;max-height:80vh;border-radius:12px 12px 0 0}.pm-chat-launcher{right:12px;bottom:12px;width:48px;height:48px;padding:0;justify-content:center}.pm-chat-launcher span{display:none}.pm-chat-sidebar{width:120px}}:root{--cbre-green: #003F2D;--accent-green: #17E88F;--dark-green: #012A2D;--dark-grey: #435254;--light-grey: #CAD1D3;--midnight: #032842;--sage: #538184;--celadon: #80BBAD;--wheat: #DBD99A;--cement: #7F8480;--midnight-tint: #778F9C;--sage-tint: #96B3B6;--celadon-tint: #C0D4CB;--wheat-tint: #EFECD2;--cement-tint: #CBCDCB;--data-orange: #D2785A;--data-purple: #885073;--data-light-purple: #A388BF;--data-blue: #1F3765;--data-light-blue: #3E7CA6;--negative-red: #AD2A2A;--font-display: "Financier Display", Times, "Times New Roman", serif;--font-body: "Calibre", Tahoma, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Space Mono", monospace;--font-condensed: "Barlow Condensed", sans-serif}:root,[data-theme=dark]{--bg-primary: #012A2D;--bg-secondary: #032842;--bg-tertiary: #003F2D;--bg-hover: #538184;--text-primary: #FFFFFF;--text-secondary: #CAD1D3;--text-muted: #96B3B6;--border-color: #435254;--border-light: #538184;--accent: #17E88F;--accent-hover: #80BBAD;--accent-light: rgba(23, 232, 143, .1);--success: #17E88F;--warning: #DBD99A;--danger: #AD2A2A;--danger-text: #fca5a5;--info: #3E7CA6;--info-text: #93C5FD;--link: #93C5FD;--warning-text: #DBD99A;--border: #435254;--border-strong: #538184;--sidebar-width: 250px;--sidebar-collapsed-width: 70px;--header-height: 60px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F7F8FA;--bg-tertiary: #EDF2F7;--bg-hover: #CAD1D3;--text-primary: #435254;--text-secondary: #538184;--text-muted: #7F8480;--border-color: #CAD1D3;--border-light: #E2E8F0;--accent: #003F2D;--accent-hover: #17E88F;--accent-light: rgba(0, 63, 45, .1);--success: #1A8754;--warning: #975A16;--danger: #AD2A2A;--danger-text: #AD2A2A;--info: #2D5F80;--info-text: #2D5F80;--link: #2D5F80;--warning-text: #975A16;--border: #CAD1D3;--border-strong: #7F8480;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;max-width:100vw;overflow-x:hidden}body{font-family:var(--font-body);font-size:14px;line-height:1.2;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;height:100%}.app-layout.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.app-layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.main-content{flex:1;min-width:0;margin-left:var(--sidebar-width);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;transition:margin-left .2s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-content{flex:1;min-width:0;padding:24px;overflow-y:auto}.sidebar{position:fixed;left:0;top:0;height:100%;width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .2s ease;z-index:100}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:8px;padding:12px 4px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color)}.logo{display:flex;align-items:center;gap:8px}.logo-text{font-size:18px;font-weight:700;color:var(--accent)}.logo-icon{font-size:16px;font-weight:700;color:var(--accent)}.collapse-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.desktop-only{display:block}.mobile-only{display:none}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}.sidebar-nav{flex:1;padding:16px 8px;overflow-y:auto}.sidebar-nav ul{list-style:none}.sidebar-nav li a{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);border-radius:var(--radius-md);transition:all .15s ease;text-decoration:none}.sidebar-nav li a:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav li a.active{background:var(--accent-light);color:var(--accent)}.recent-clients{margin:4px 0 12px}.recent-clients__header{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.recent-clients__clear{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:2px 6px;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--text-secondary);font:inherit;font-size:.68rem;text-transform:none;letter-spacing:normal;cursor:pointer}.recent-clients__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.recent-clients__list{display:flex;gap:6px;list-style:none;margin:0;padding:2px 0 6px;overflow-x:auto;scrollbar-width:thin}.recent-clients__chip{max-width:220px;padding:5px 12px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .15s ease,border-color .15s ease}.recent-clients__chip:hover{background:var(--bg-hover);border-color:var(--accent)}.nav-divider{height:1px;background:var(--border-color);margin:12px 0}.nav-row{display:flex;align-items:center;gap:2px}.nav-row>a{flex:1;min-width:0}.nav-row>a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group-label{padding:4px 12px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.nav-pin{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--text-secondary);opacity:.45;cursor:pointer;transition:opacity .15s ease,color .15s ease,background .15s ease}.nav-row:hover .nav-pin,.nav-pin:focus-visible{opacity:1}.nav-pin:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.nav-pin--on{color:var(--accent);opacity:1}.nav-pin:disabled{cursor:not-allowed;opacity:.2}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color)}.user-info{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary)}.user-info:hover{background:var(--bg-hover);text-decoration:none}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.user-details{flex:1;min-width:0}.user-name{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{display:block;font-size:12px;color:var(--text-muted)}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;margin-top:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md)}.logout-btn:hover{background:var(--bg-hover);color:var(--danger)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.page-header h1{font-size:20px;font-weight:600}.page-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-bottom:20px}.page-title{display:flex;align-items:center;gap:10px;min-width:0}.page-title>svg{flex:none;color:var(--accent)}.page-title h1{font-size:22px;font-weight:600;line-height:1.25;color:var(--text-primary);overflow-wrap:anywhere}.page-subtitle,.page-intro .client-meta{grid-column:1 / -1;min-width:0}.page-subtitle{margin:0;max-width:82ch;font-size:13px;line-height:1.55;color:var(--text-secondary)}.page-intro .header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.page-content code{overflow-wrap:anywhere}.page-intro code,.page-subtitle code{font-family:var(--font-mono, monospace);font-size:.92em;padding:1px 5px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);overflow-wrap:anywhere}.header-right{display:flex;align-items:center;gap:8px;min-width:0}.header-left{min-width:0}.page-header h1,.header-user span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-user,.header-user>div{min-width:0}.header-right .format-toggle,.header-right .icon-btn{flex-shrink:0}.format-toggle{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary)}.format-toggle button{padding:4px 10px;font-size:12px;font-weight:500;font-family:inherit;color:var(--text-muted);background:none;border:none;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:background .15s ease,color .15s ease}.format-toggle button:hover{color:var(--text-primary)}.format-toggle button.active{background:var(--bg-tertiary);color:var(--accent)}@media (max-width: 768px){.format-toggle{display:none}}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-block{width:100%;justify-content:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn.active{color:var(--accent)}.icon-btn.danger:hover{color:var(--danger)}.icon-btn:disabled{cursor:default;opacity:.4}.icon-btn:disabled:hover{background:none;color:var(--text-muted)}.icon-btn__spinner{animation:spin 1s linear infinite}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.form-group input[type=checkbox],.form-group input[type=radio]{width:auto;padding:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.text-muted{color:var(--text-muted)}.form-input{display:block;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input:focus-visible{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-light)}.form-input::placeholder{color:var(--text-muted)}.form-input:disabled{opacity:.6;cursor:not-allowed}select.form-input[multiple]{padding:4px;overflow-y:auto;resize:vertical}select.form-input[multiple] option{padding:3px 6px;border-radius:var(--radius-sm);color:var(--text-primary)}select.form-input[multiple] option:checked{background:var(--accent);color:var(--bg-primary)}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.input-with-icon input{padding-left:40px}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}.zone-picker-empty{color:var(--text-muted, #718096);font-size:13px;padding:4px 0}.zone-picker-list{display:flex;flex-direction:column;gap:4px}.zone-picker-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px 0}.zone-picker-item input[type=checkbox]{margin:0;cursor:pointer}.invite-supplier-row{display:grid;grid-template-columns:auto 1fr 1.6fr;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border-color, #edf2f7)}.invite-supplier-row:last-child{border-bottom:none}.invite-supplier-row input[type=checkbox]{margin:0;cursor:pointer}.invite-supplier-row input[type=email]{padding:4px 8px;font-size:13px;border:1px solid var(--border-color, #cbd5e0);border-radius:4px}.invite-supplier-row .supplier-name{font-weight:500;font-size:13px}.invite-supplier-row .supplier-zones{font-size:11px;color:var(--text-muted, #718096)}.invite-batch-results{margin-top:16px;border-top:1px solid var(--border-color, #e2e8f0);padding-top:12px}.invite-batch-result{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-color, #edf2f7);align-items:center}.invite-batch-result code{font-family:monospace;font-size:11px;color:var(--text-muted, #4a5568);word-break:break-all}.checkbox-label input[type=checkbox]{width:auto}.checkbox-label.inline{margin-top:24px}.zone-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px}.zone-checkbox{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-radius:4px;transition:background .15s;font-size:13px}.zone-checkbox:hover{background:var(--bg-secondary)}.zone-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.zone-checkbox span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footprint-readonly{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-secondary);overflow-wrap:anywhere}.footprint-readonly strong{color:var(--text-primary);margin-right:4px}.form-section-title{font-weight:600;font-size:14px;color:var(--text-secondary);margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--border-color)}.client-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:all .15s ease}.client-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.client-card.has-alerts{border-color:var(--danger)}.client-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.client-icon{width:40px;height:40px;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.client-info{flex:1;min-width:0}.client-info h3{font-size:16px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-rtos{font-size:12px;color:var(--text-muted)}.card-arrow{color:var(--text-muted)}.client-zones{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.zone-tag{display:inline-block;padding:2px 8px;font-size:11px;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary)}.zone-tag.more{background:var(--accent-light);color:var(--accent)}.demo-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--wheat-tint);color:var(--midnight);border-radius:var(--radius-sm);vertical-align:middle;margin-left:8px}.zone-tag.alerted{display:inline-flex;align-items:center;background:#ffffff0d;border:2px solid;font-weight:500}.zone-tag--alert-color{border-color:var(--zone-color);border-width:2px}.zone-tag__zap{margin-right:2px}.alert-color-bar{display:flex;height:4px;margin:-16px -16px 12px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.alert-color-segment{flex:1;min-width:20px;background-color:var(--seg-color, transparent)}.zone-color-indicator{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px;flex-shrink:0}.market-alert-zone .zone-header{display:flex;align-items:center}.client-card-footer{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--border-color)}.client-card-footer .stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.client-card-footer .stat.alert{color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.stat-card.alert{border-color:var(--danger)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon.clients{background:#17e88f1a;color:var(--accent)}.stat-icon.triggers{background:#80bbad1a;color:var(--celadon)}.stat-icon.alerts{background:#ad2a2a1a;color:var(--danger)}.stat-icon.contracts{background:#dbd99a1a;color:var(--warning)}.stat-icon.market-alert{background:#8850731a;color:var(--data-purple)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:700}.stat-label{font-size:13px;color:var(--text-muted)}.stat-card.clickable{cursor:pointer;transition:all .2s ease}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--accent)}.stat-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 4px 12px #006a4e33;background:var(--bg-hover)}.stat-card.selected .stat-label:after{content:" (filtered)";font-style:italic;opacity:.7}.filter-badge{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:4px 10px;font-size:12px;font-weight:500;background:var(--accent);color:#fff;border-radius:12px;flex-shrink:0}@media (max-width: 768px){.filter-badge{margin-left:0;margin-top:4px}.section-header h2{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px}}.filter-badge .clear-filter{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;line-height:1;padding:0 2px;opacity:.8;transition:opacity .2s}.filter-badge .clear-filter:hover{opacity:1}.data-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;border-bottom:1px solid var(--border-color)}.search-box{position:relative;width:min(300px,100%)}.table-toolbar .search-box{flex:1 1 220px;min-width:0;width:auto;max-width:300px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-box input{width:100%;padding:8px 12px 8px 36px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary)}.table-actions{display:flex;gap:8px}.table-wrapper{overflow-x:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);white-space:nowrap}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--text-primary)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr.clickable{cursor:pointer}.data-table .empty-message{text-align:center;padding:40px;color:var(--text-muted)}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-color)}.pagination-info{color:var(--text-muted);font-size:13px}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-controls button{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.action-buttons{display:flex;gap:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-color)}.status-badge{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:var(--radius-sm)}.status-success{background:var(--accent-green);color:var(--dark-green)}.status-warning{background:var(--wheat);color:var(--dark-green)}.status-danger{background:var(--negative-red);color:#fff}.status-info{background:var(--data-blue);color:#fff}.status-muted{background:var(--light-grey);color:var(--dark-grey)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-primary)}.login-container{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:700;color:var(--accent);margin-bottom:8px}.login-header p{color:var(--text-muted)}.login-form .error-message{display:flex;align-items:center;gap:8px;padding:12px;background:#ad2a2a1a;color:var(--danger);border-radius:var(--radius-md);margin-bottom:16px}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:13px}.section{margin-bottom:24px}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.section-header h2{font-size:18px;font-weight:600;min-width:0}.section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--text-muted)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{margin-bottom:16px}.page-loading,.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px;color:var(--text-muted)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.spinner.small{width:16px;height:16px;border-width:2px;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.error-banner,.warning-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px}.error-banner{background:#ad2a2a1a;color:var(--danger)}.warning-banner{background:#dbd99a26;color:var(--warning)}.error-banner button,.warning-banner button{margin-left:auto;padding:4px 12px;background:none;border:1px solid currentColor;border-radius:var(--radius-sm);color:inherit;cursor:pointer}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.tab{display:flex;align-items:center;gap:6px;padding:12px 16px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:none;border:none;color:var(--text-muted);cursor:pointer;margin-bottom:16px;border-radius:var(--radius-md)}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.client-header{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:24px}.client-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.client-avatar{width:60px;height:60px;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.client-header .client-info{flex:1;min-width:0}.client-header h1{font-size:24px;margin-bottom:4px}.client-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--text-muted)}.meta-item{display:flex;align-items:center;gap:6px}.quick-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.quick-stat{flex:1 1 180px;min-width:0;display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease}.quick-stat:hover{border-color:var(--accent)}.quick-stat .stat-value{font-size:20px;font-weight:600}.quick-stat .stat-label{color:var(--text-muted);font-size:13px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.info-card{padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.info-card.full-width{grid-column:1 / -1}.info-card h3{font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.info-rows{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:flex-start}.info-label{color:var(--text-muted)}.info-value{font-weight:500;text-align:right}.zone-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.updates-list{display:flex;flex-direction:column;gap:12px}.update-item{display:flex;gap:12px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.update-item.pinned{border-color:var(--accent);background:var(--accent-light)}.update-icon{width:36px;height:36px;background:var(--bg-tertiary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.update-content{flex:1;min-width:0}.update-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.update-title{font-weight:600}.update-type{font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}.update-body{color:var(--text-secondary);margin-bottom:8px}.update-meta{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.update-actions{display:flex;gap:4px}.mini-table{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.mini-table table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.mini-table th{font-weight:600;color:var(--text-muted);background:var(--bg-tertiary)}.mini-table tbody tr:last-child td{border-bottom:none}.page-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.client-selector{display:flex;align-items:center;gap:8px}.client-selector label{font-weight:500;color:var(--text-muted)}.client-selector select,.filter-select{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary)}.activity-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);cursor:pointer}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--bg-hover)}.activity-icon{font-size:20px}.activity-content{flex:1}.activity-title{display:block;font-weight:500}.activity-meta{font-size:12px;color:var(--text-muted)}.reports-header{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.batch-export-panel{padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:32px}.batch-client-fieldset{border:none;margin:0 0 16px;padding:0}.batch-client-fieldset legend{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;align-items:baseline;gap:12px}.batch-selected-count{font-size:12px;font-weight:400;color:var(--text-muted)}.batch-select-all{margin-bottom:8px;font-weight:600}.batch-client-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;max-height:320px;overflow-y:auto;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px)}.batch-empty{color:var(--text-muted);font-size:13px}.batch-cap-warning{color:var(--danger, #c0392b);font-size:13px;margin-bottom:12px}.batch-export-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.batch-type-picker{display:flex;align-items:center;gap:8px}.batch-type-picker label{font-size:14px}.batch-export-hint{margin-top:12px;color:var(--text-muted);font-size:12px}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:32px}.report-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.report-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.report-icon--triggers{background-color:#d2785a20;color:var(--data-orange, #D2785A)}.report-icon--hedges{background-color:#3e7ca620;color:var(--data-light-blue, #3E7CA6)}.report-icon--contracts{background-color:#17e88f20;color:var(--accent-green, #17E88F)}.report-icon--client_summary{background-color:#88507320;color:var(--data-purple, #885073)}.report-info h3{font-size:16px;margin-bottom:8px}.report-info p{color:var(--text-muted);font-size:13px;margin-bottom:16px}.reports-info{padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.reports-info h3{margin-bottom:8px}.reports-info p{color:var(--text-muted)}.profile-page{max-width:600px}.profile-section{margin-bottom:32px}.profile-section h2{font-size:18px;font-weight:600;margin-bottom:16px}.profile-card{display:flex;align-items:center;gap:20px;padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.profile-info{flex:1}.profile-info .info-row{display:flex;align-items:center;gap:12px;padding:8px 0}.profile-info .info-label{display:flex;align-items:center;gap:6px;color:var(--text-muted);min-width:100px}.password-form{padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.password-form .message{padding:12px;border-radius:var(--radius-md);margin-bottom:16px}.password-form .message.error{background:#ad2a2a1a;color:var(--danger)}.password-form .message.success{background:#17e88f1a;color:var(--success)}.admin-page .tabs{margin-bottom:24px}.mobile-menu-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;width:44px;height:44px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background:var(--bg-hover)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.sidebar-overlay.active{display:block}@media (max-width: 1024px){.stats-grid,.clients-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.page-content{padding:16px}}@media (max-width: 768px){*,*:before,*:after{max-width:100%}.app-layout,.main-content,.page-content,.dashboard-page,.section,.clients-grid,.stats-grid{max-width:100vw;overflow-x:hidden;box-sizing:border-box}.mobile-menu-toggle{display:flex}.sidebar{position:fixed;left:-280px;top:0;width:280px;height:100%;transition:left .3s ease;z-index:100}.sidebar.mobile-open{left:0}.main-content{margin-left:0;width:100%}.mobile-menu-toggle{top:6px}@supports (-webkit-touch-callout: none){html{-webkit-text-size-adjust:100%}input[type=date],input[type=month],input[type=time],input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;min-height:44px}input[type=date]::-webkit-date-and-time-value,input[type=month]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left}}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}.app-layout.sidebar-collapsed .main-content{margin-left:0}.page-content{padding:12px;overflow-x:hidden;width:100%}.page-header{padding:0 12px 0 60px;height:56px}.page-header h1{font-size:16px}.page-intro{gap:6px 12px;margin-bottom:16px}.page-title h1{font-size:18px}.page-intro .header-actions{grid-column:1 / -1;justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.stat-card{padding:12px;flex-direction:column;text-align:center;gap:8px}.stat-icon{width:40px;height:40px}.stat-value{font-size:20px}.stat-label{font-size:11px}.clients-grid{display:flex;flex-direction:column;gap:12px;width:100%}.client-card{width:100%;min-width:0;box-sizing:border-box}.client-card h3{word-break:break-word;overflow-wrap:break-word}.client-zones{flex-wrap:wrap}.zone-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}.quick-stats{flex-direction:column;gap:8px}.quick-stat{padding:12px}.client-header{flex-direction:column;text-align:center;padding:16px}.client-header h1{font-size:20px}.client-meta{justify-content:center}.client-actions{margin-top:12px}.form-row{grid-template-columns:1fr;gap:12px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px}.data-table th,.data-table td{padding:10px 12px;font-size:13px}.table-toolbar{flex-direction:column;gap:12px;align-items:stretch}.search-box{width:100%}.table-actions{justify-content:flex-end}.table-pagination{flex-direction:column;gap:12px;align-items:center}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-body{padding:16px}.modal-header,.modal-footer{padding:12px 16px}.btn{padding:12px 20px;font-size:15px}.icon-btn{width:44px;height:44px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0}.tab{flex-shrink:0;padding:10px 14px;font-size:13px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-actions{width:100%;flex-wrap:wrap;gap:8px}.section-actions .search-box{width:100%;max-width:100%;order:-1}.section-actions .search-box input{width:100%}.section-actions .filter-select{flex:1 1 45%;min-width:0;max-width:100%}.section-actions .btn{flex:1 1 auto;min-width:44px;max-width:100%;justify-content:center;padding:10px 12px}.section-actions .btn span{display:none}input,select,textarea,button{max-width:100%;box-sizing:border-box}.info-card{padding:16px}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.info-value{text-align:left}.page-toolbar{flex-direction:column;align-items:stretch;gap:12px}.client-selector{flex-direction:column;align-items:stretch}.client-selector select{width:100%}.update-item{flex-direction:column;gap:8px}.update-icon{align-self:flex-start}.profile-card{flex-direction:column;text-align:center}.profile-info .info-row{flex-direction:column;align-items:center}.login-container{padding:24px;margin:16px}.reports-grid{grid-template-columns:1fr}.market-alert-zone{min-width:100%;max-width:100%}.hide-mobile{display:none!important}.back-btn{padding:10px 14px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:row;text-align:left}.page-header h1{font-size:14px}.header-right .btn{padding:8px 12px;font-size:13px}.header-right .btn span{display:none}.client-zones{max-height:60px;overflow:hidden}.client-card h3{font-size:14px}.client-card-footer{flex-wrap:wrap;gap:8px}.client-card-footer .stat{font-size:12px}}@media (hover: none) and (pointer: coarse){.icon-btn{min-width:44px;min-height:44px}.sidebar-nav li a{padding:14px 12px}.client-card:hover,.stat-card.clickable:hover{transform:none}.client-card .btn-edit{opacity:1}}.demo-data-section{padding:20px}.demo-data-section .card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;max-width:700px}.demo-data-section h3{margin:0 0 8px;font-size:20px;font-weight:600}.demo-data-section .text-muted{color:var(--text-muted);margin-bottom:20px}.demo-features{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px;margin-bottom:20px}.demo-features h4{margin:0 0 12px;font-size:14px;font-weight:600}.demo-features ul{margin:0 0 12px;padding-left:20px}.demo-features li{margin-bottom:6px;font-size:14px}.demo-features p{margin:8px 0 0;font-size:13px;color:var(--text-muted)}.demo-actions{display:flex;gap:12px;margin-bottom:16px}.demo-actions .btn{display:flex;align-items:center;gap:8px}.demo-result{padding:12px 16px;border-radius:var(--radius-md);font-size:14px}.demo-result.success{background:#2ecc711a;border:1px solid var(--success);color:var(--success)}.demo-result.error{background:#e74c3c1a;border:1px solid var(--danger);color:var(--danger)}.demo-result p{margin:4px 0}.purchase-tracker{padding:0}.purchase-tracker .metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.purchase-tracker .metric-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;display:flex;align-items:center;gap:12px}.purchase-tracker .metric-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-primary-alpha);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.purchase-tracker .metric-content{flex:1}.purchase-tracker .metric-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.purchase-tracker .metric-value{font-size:20px;font-weight:600;color:var(--color-text)}.purchase-tracker .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.purchase-tracker .toolbar h4{margin:0;font-size:16px;font-weight:600}.purchase-tracker .data-table{width:100%;border-collapse:collapse}.purchase-tracker .data-table th,.purchase-tracker .data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.purchase-tracker .data-table th{background:var(--color-bg-elevated);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.purchase-tracker .data-table tr.clickable{cursor:pointer;transition:background .15s ease}.purchase-tracker .data-table tr.clickable:hover{background:var(--color-bg-elevated)}.purchase-tracker .expand-cell{cursor:pointer;color:var(--color-text-muted)}.purchase-tracker .expanded-row td{background:var(--color-bg-elevated);padding:0}.purchase-tracker .expanded-content{padding:16px 24px}.purchase-tracker .expanded-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.purchase-tracker .expanded-grid .label{font-size:12px;color:var(--color-text-muted);margin-right:8px}.purchase-tracker .expanded-grid .value{font-weight:500}.purchase-detail{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:24px}.purchase-detail .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.purchase-detail .detail-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.purchase-detail .info-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.purchase-detail .info-card{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:16px;border-left:4px solid var(--color-primary)}.purchase-detail .info-card .info-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.purchase-detail .info-card .info-value{font-size:18px;font-weight:600;color:var(--color-text)}.purchase-detail .info-card .info-sub{font-size:12px;color:var(--color-text-muted);margin-top:4px}.purchase-detail .chart-section{margin-top:24px}.purchase-detail .chart-section h4{margin:0 0 4px;font-size:16px}.purchase-detail .chart-section p{margin:0 0 16px}.purchase-detail .chart-container{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:16px}.purchase-detail .notes-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.purchase-detail .notes-section h4{margin:0 0 8px;font-size:14px}.empty-state.small{padding:32px}.empty-state.small p{margin:8px 0 0}.dashboard-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:2px solid var(--color-border);padding-bottom:0}.dashboard-tabs .tab-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--color-text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-tabs .tab-btn:hover{color:var(--color-text);background:var(--color-bg-hover)}.dashboard-tabs .tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.dashboard-tabs .tab-badge{background:var(--color-primary);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:4px}.triggered-alerts-list{overflow-x:auto}.triggered-alerts-list .data-table{width:100%;border-collapse:collapse}.triggered-alerts-list .data-table th,.triggered-alerts-list .data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.triggered-alerts-list .data-table th{background:var(--color-bg-secondary);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--color-text-muted)}.triggered-alerts-list .data-table tr:hover{background:var(--color-bg-hover)}.triggered-alerts-list .email-count{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.triggered-alerts-cards{display:flex;flex-direction:column;gap:16px}.triggered-alert-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:box-shadow .2s}.triggered-alert-card:hover{box-shadow:0 2px 8px #0000001a}.triggered-alert-card .alert-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.triggered-alert-card .alert-info h3{margin:0 0 4px;font-size:16px;font-weight:600}.triggered-alert-card .alert-type{font-size:12px;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:2px 8px;border-radius:4px}.triggered-alert-card .alert-time{font-size:12px;color:var(--color-text-muted)}.triggered-alert-card .alert-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:16px}.triggered-alert-card .detail-row{display:flex;gap:8px}.triggered-alert-card .detail-row .label{color:var(--color-text-muted);font-size:13px}.triggered-alert-card .detail-row .value{font-weight:500;font-size:13px}.triggered-alert-card .affected-clients{background:var(--color-bg-secondary);border-radius:6px;padding:12px}.triggered-alert-card .affected-clients h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:600;color:var(--color-primary)}.triggered-alert-card .client-list{display:flex;flex-wrap:wrap;gap:8px}.triggered-alert-card .affected-client{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .2s}.triggered-alert-card .affected-client:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.triggered-alert-card .affected-client .client-name{font-weight:500;font-size:13px;display:block}.triggered-alert-card .affected-client .client-contact{font-size:11px;color:var(--color-text-muted)}.triggered-alert-card .no-affected-clients{padding:12px;text-align:center;background:var(--color-bg-secondary);border-radius:6px}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:2rem}.error-boundary-content{max-width:500px;text-align:center;color:var(--text-primary)}.error-boundary .error-icon{color:var(--danger);margin-bottom:1.5rem}.error-boundary h1{font-size:1.75rem;font-weight:600;margin-bottom:.75rem}.error-boundary p{color:var(--text-secondary);margin-bottom:1.5rem}.error-boundary .error-details{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem;text-align:left}.error-boundary .error-details summary{cursor:pointer;font-weight:500;margin-bottom:.5rem}.error-boundary .error-details pre{font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--danger);margin:.5rem 0 0}.error-boundary .error-actions{display:flex;gap:1rem;justify-content:center}.form-group.has-error input,.form-group.has-error textarea{border-color:var(--danger)}.form-group .error-message{color:var(--danger);font-size:.75rem;margin-top:.25rem}.market-alerts-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.market-alerts-panel h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.9rem;color:var(--warning)}.market-alerts-list{display:flex;flex-wrap:wrap;gap:.75rem}.market-alert-zone{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:.75rem;min-width:280px;flex:1;max-width:400px}.market-alert-zone .zone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.market-alert-zone .zone-header strong{font-size:.95rem;color:var(--text-primary)}.market-alert-zone .alert-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-secondary);padding:.15rem .5rem;border-radius:10px}.market-alert-zone .zone-alerts{display:flex;flex-direction:column;gap:.4rem}.market-alert-zone .alert-detail{display:flex;flex-direction:column;font-size:.8rem}.market-alert-zone .alert-name{color:var(--text-primary);font-weight:500}.market-alert-zone .alert-info{color:var(--text-muted);font-size:.75rem}.market-alert-zone .price-change{font-weight:600}.market-alert-zone .price-change.up{color:var(--danger)}.market-alert-zone .price-change.down{color:var(--success)}.market-alert-zone .current-price{color:var(--text-secondary)}.client-card .card-actions{display:flex;align-items:center;gap:.5rem}.client-card .btn-edit{opacity:0;transition:opacity .2s ease;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);padding:.35rem;cursor:pointer;color:var(--text-secondary)}.client-card:hover .btn-edit{opacity:1}.client-card .btn-edit:hover{background:var(--accent);color:#fff}.input-disabled,input:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;opacity:.7}.site-manager{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-info{display:flex;align-items:center;gap:10px}.header-info h3{margin:0;font-size:18px;font-weight:600}.header-controls{display:flex;align-items:center;gap:12px}.site-select,.year-select{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px}.site-name-cell{display:flex;align-items:center;gap:8px}.address-cell{color:var(--text-secondary);font-size:13px}.site-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.site-form .form-group.full-width{grid-column:1 / -1}.form-hint{display:block;font-size:.75rem;color:var(--text-muted, #6B7280);margin-top:4px}.site-form .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:#ad2a2a1a;color:var(--danger)}.btn-icon:disabled{cursor:default;opacity:.4}.btn-icon:disabled:hover{background:transparent;color:var(--text-muted)}.btn-icon__spinner{animation:spin 1s linear infinite}.loading-state,.error-state{padding:40px;text-align:center;color:var(--text-muted)}.error-state{color:var(--danger)}.usage-manager{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.usage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:20px}.summary-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.summary-icon{width:40px;height:40px;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.summary-content{display:flex;flex-direction:column}.summary-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:18px;font-weight:600;color:var(--text-primary)}.usage-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.usage-form .form-group.full-width{grid-column:1 / -1}.usage-form .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.tools-panel{display:flex;flex-direction:column;gap:24px}.tools-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.tools-section .section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tools-section .section-header h3{margin:0;font-size:16px;font-weight:600}.section-description{color:var(--text-muted);font-size:14px;margin-bottom:16px}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.template-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.template-card:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.template-card:disabled{opacity:.7;cursor:not-allowed}.template-icon{width:40px;height:40px;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.template-info{flex:1;min-width:0}.template-label{display:block;font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:2px}.template-description{display:block;font-size:12px;color:var(--text-muted)}.template-action{color:var(--accent);flex-shrink:0}.template-action .downloading{font-size:12px;color:var(--text-muted)}.import-options{display:flex;flex-direction:column;gap:12px}.import-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.import-info{display:flex;align-items:center;gap:12px}.import-info>svg{color:var(--accent)}.import-label{display:block;font-weight:600;font-size:14px;color:var(--text-primary)}.import-description{display:block;font-size:12px;color:var(--text-muted)}.upload-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.import-status{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);margin-top:16px}.import-status.importing{background:var(--accent-light);color:var(--accent)}.import-status.success{background:#17e88f1a;color:var(--success)}.import-status.error{background:#ad2a2a1a;color:var(--danger)}.status-message{font-weight:500}.status-detail{font-size:13px;opacity:.8}.error-list{margin:8px 0 0;padding-left:20px;font-size:13px}.error-list li{margin-bottom:4px}.tips-section{background:var(--bg-tertiary)}.tips-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-secondary)}.tips-list{margin:0;padding-left:20px;font-size:13px;color:var(--text-muted)}.tips-list li{margin-bottom:6px}.import-preview{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.preview-info{display:flex;align-items:center;gap:12px}.preview-info>svg{color:var(--accent)}.preview-title{display:block;font-weight:600;font-size:16px;color:var(--text-primary)}.preview-file{display:block;font-size:12px;color:var(--text-muted)}.preview-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.preview-stat{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.preview-stat.valid{color:var(--success)}.preview-stat.error{color:var(--danger)}.preview-stat.warning{color:var(--warning)}.preview-errors{margin-bottom:16px}.errors-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:8px 0}.errors-toggle:hover{color:var(--text-primary)}.preview-sample{margin-bottom:16px}.sample-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:8px}.sample-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.sample-table{width:100%;border-collapse:collapse;font-size:12px}.sample-table th,.sample-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.sample-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-muted)}.sample-table tbody tr:last-child td{border-bottom:none}.preview-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid var(--border-color)}.status-content{display:flex;flex-direction:column;gap:4px}.more-errors{font-style:italic;color:var(--text-muted)}.import-history{margin-top:12px}.history-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.history-table{width:100%;border-collapse:collapse;font-size:13px}.history-table th,.history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.history-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background:var(--bg-secondary)}.history-table td.num{text-align:right;font-family:var(--font-mono)}.history-table td svg{vertical-align:middle;margin-right:4px;color:var(--text-muted)}.status-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:12px;background:var(--bg-tertiary);color:var(--text-muted)}.status-badge.success{background:var(--accent-green);color:var(--dark-green)}.status-badge.warning{background:var(--wheat);color:var(--dark-green)}.status-badge.error{background:var(--negative-red);color:#fff}.section-header .btn-icon{padding:4px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm)}.section-header .btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-indicator{display:flex;align-items:center;gap:8px;padding:20px;justify-content:center;color:var(--text-muted)}.empty-state{text-align:center;padding:20px;color:var(--text-muted)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;background:var(--accent);color:#fff;border-radius:10px;margin-left:4px}@media (max-width: 768px){.site-manager,.usage-manager,.tools-section{padding:16px}.manager-header{flex-direction:column;align-items:flex-start;gap:12px}.header-controls{width:100%;flex-wrap:wrap}.site-select,.year-select{flex:1;min-width:0}.site-form .form-grid,.usage-form .form-grid,.usage-summary,.template-grid{grid-template-columns:1fr}.import-card{flex-direction:column;align-items:flex-start;gap:12px}.import-card .upload-btn{width:100%;justify-content:center}}.onboarding-wizard{max-width:800px;margin:0 auto;padding:24px}.wizard-progress{display:flex;justify-content:space-between;margin-bottom:32px;position:relative}.wizard-progress:before{content:"";position:absolute;top:16px;left:40px;right:40px;height:2px;background:var(--border-color);z-index:0}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background:var(--bg-tertiary);border:2px solid var(--border-color);color:var(--text-muted);transition:all .2s ease}.wizard-step.active .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-step.completed .step-number{background:var(--success);border-color:var(--success);color:#fff}.step-label{font-size:12px;color:var(--text-muted);font-weight:500;text-align:center}.wizard-step.active .step-label{color:var(--text-primary)}.wizard-step.completed .step-label{color:var(--success)}.wizard-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.wizard-content h3{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:18px;font-weight:600}.wizard-content h3 svg{color:var(--accent)}.wizard-content .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.wizard-content .form-group.full-width{grid-column:1 / -1}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.checkbox-label{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:14px}.checkbox-label:hover{border-color:var(--accent)}.checkbox-label input{accent-color:var(--accent)}.checkbox-label input:checked+span{color:var(--accent);font-weight:500}.user-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.user-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.user-card-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600}.user-card .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.input-with-button{display:flex;gap:8px}.input-with-button input{flex:1}.input-with-button .btn-sm{flex-shrink:0;padding:8px 12px;font-size:12px}.wizard-complete{text-align:center;padding:40px 24px}.wizard-complete .success-icon{width:64px;height:64px;background:var(--success-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--success)}.wizard-complete h3{justify-content:center;margin-bottom:8px}.wizard-complete>p{color:var(--text-muted);margin-bottom:32px}.summary-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;text-align:left;max-width:500px;margin:0 auto 24px}.summary-card h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:14px}.summary-row:last-child{border-bottom:none}.summary-row .label{color:var(--text-muted)}.summary-row .value{font-weight:500;color:var(--text-primary)}.summary-card h5{margin:16px 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.summary-card ul{margin:0;padding-left:20px;font-size:14px}.summary-card li{margin-bottom:4px;color:var(--text-primary)}.wizard-actions{display:flex;justify-content:space-between;gap:12px}.wizard-actions .btn{display:flex;align-items:center;gap:8px;min-width:120px;justify-content:center}.wizard-content .alert{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.wizard-content .alert.alert-danger{background:var(--danger-light);border:1px solid var(--danger);color:var(--danger)}@media (max-width: 768px){.onboarding-wizard{padding:16px}.wizard-progress:before{left:20px;right:20px}.step-label{font-size:11px}.wizard-content{padding:16px}.wizard-content .form-grid,.user-card .form-grid{grid-template-columns:1fr}.checkbox-group{flex-direction:column}.checkbox-label{width:100%}.wizard-actions{flex-direction:column-reverse}.wizard-actions .btn{width:100%}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem;width:min(420px,calc(100vw - 2rem));pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.4;pointer-events:auto;animation:toastSlideIn .3s ease-out;box-shadow:0 4px 12px #00000026}.toast-exit{animation:toastSlideOut .3s ease-in forwards}.toast-success{background:#16653433;color:#86efac;border:1px solid rgba(34,197,94,.3)}.toast-error{background:#991b1b33;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.toast-warning{background:#92400e33;color:#fde68a;border:1px solid rgba(245,158,11,.3)}.toast-info{background:#1e40af33;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.toast-icon{flex-shrink:0}.toast-message{flex:1;min-width:0;overflow-wrap:anywhere}.toast-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;opacity:.5;color:inherit;padding:2px}.toast-dismiss:hover{opacity:1}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.inline-message{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;margin-top:.5rem}.inline-message-error{background:#991b1b33;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.inline-message-success{background:#16653433;color:#86efac;border:1px solid rgba(34,197,94,.3)}.action-queue{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;overflow:hidden}.action-queue--empty{border-color:var(--border-light)}.action-queue__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.action-queue__header:hover{background:var(--bg-hover)}.action-queue__title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary)}.action-queue__title svg{color:var(--warning)}.action-queue--empty .action-queue__title svg{color:var(--success)}.action-queue__badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;background:#ad2a2a26;color:var(--danger)}.action-queue__badge--clear{background:#17e88f1f;color:var(--success)}.action-queue__toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center}.action-queue__toggle:hover{background:var(--bg-tertiary)}.action-queue__body{border-top:1px solid var(--border-color);padding:8px 16px 12px}.action-queue__group{margin-bottom:10px}.action-queue__group:last-child{margin-bottom:0}.action-queue__group-header{display:flex;align-items:center;gap:6px;padding:6px 0 4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.action-queue__group-label{font-size:11px}.action-queue__group-count{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:4px}.action-queue__items{display:flex;flex-direction:column;gap:4px}.action-queue__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.action-queue__item:hover{background:var(--bg-tertiary)}.action-queue__item-indicator{width:4px;height:28px;border-radius:2px;flex-shrink:0}.action-queue__item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.action-queue__item-client{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-queue__item-desc{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-queue__item-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;opacity:0;transition:opacity .12s,background .12s}.action-queue__item:hover .action-queue__item-dismiss{opacity:1}.action-queue__item-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}.action-queue__badge--risk{background:var(--danger-light, #f8e8e8);color:var(--danger, #ad2a2a);display:inline-flex;align-items:center;gap:2px;margin-left:6px}.action-queue__item-chip{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--danger, #ad2a2a);background:var(--danger-light, #f8e8e8);padding:2px 6px;border-radius:4px;margin-top:2px}.action-queue__item-recommend{background:var(--bg-primary);border:1px solid var(--border-color, #e5e7eb);color:var(--text-primary);cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:4px;margin-right:4px;white-space:nowrap;opacity:.85;transition:opacity .15s,background .15s}.action-queue__item:hover .action-queue__item-recommend{opacity:1}.action-queue__item-recommend:hover{background:var(--bg-hover, #f3f4f6)}.action-queue__item-recommend:focus-visible{outline:2px solid var(--accent-primary, #00a88e);outline-offset:2px;opacity:1}@media (max-width: 768px){.action-queue__header{padding:10px 12px}.action-queue__body{padding:6px 12px 10px}.action-queue__item-recommend{display:none}.action-queue__item{padding:6px 8px}.action-queue__item-dismiss{opacity:1}}.client-summary-card{margin-bottom:20px}.summary-loading{padding:24px;text-align:center;color:var(--text-muted);font-size:14px}.summary-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.summary-metric-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color .2s ease}.summary-metric-card.alert{border-color:var(--danger);background:#ad2a2a08}.summary-metric-card.warning{border-color:var(--warning);background:#dbd99a0d}.summary-metric-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-metric-icon.triggers{background:#80bbad1a;color:var(--celadon)}.summary-metric-icon.alerts{background:#ad2a2a1a;color:var(--danger)}.summary-metric-icon.hedges{background:#17e88f1a;color:var(--accent)}.summary-metric-icon.contracts{background:#dbd99a1a;color:var(--warning)}.summary-metric-icon.budget{background:#80bbad1a;color:var(--celadon)}.summary-metric-content{display:flex;flex-direction:column;min-width:0}.summary-metric-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}.summary-metric-label{font-size:12px;color:var(--text-muted);margin-top:2px}.summary-metric-highlight{font-size:11px;font-weight:500;margin-top:4px;color:var(--text-muted)}.summary-metric-highlight.success{color:var(--accent)}.summary-metric-highlight.warning{color:var(--warning)}.summary-metric-highlight.danger{color:var(--danger)}.summary-metric-hint{font-size:11px;color:var(--text-muted);margin-top:4px;font-style:italic}.summary-quick-facts{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.summary-fact{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.summary-fact.overdue{color:var(--danger)}.summary-fact .fact-label{color:var(--text-muted)}.summary-fact .fact-value{font-weight:500;color:var(--text-primary)}.summary-fact .fact-value.danger{color:var(--danger);font-weight:600}@media (max-width: 1024px){.summary-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.summary-metrics-grid{grid-template-columns:1fr}.summary-quick-facts{flex-direction:column;gap:8px}}.budget-performance{margin-top:32px;border-top:1px solid var(--color-border);padding-top:24px}.budget-performance .performance-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.budget-performance .performance-header .header-info{display:flex;align-items:center;gap:8px}.budget-performance .performance-header .header-info h3{margin:0;font-size:16px;font-weight:600}.budget-performance .year-select{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);background:var(--bg-secondary, #fff);font-size:14px;color:var(--color-text);cursor:pointer}.budget-performance .metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.budget-performance .metric-card{background:var(--bg-secondary, #fff);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);padding:16px;display:flex;align-items:center;gap:12px}.budget-performance .metric-icon{width:40px;height:40px;border-radius:var(--radius-sm, 4px);background:var(--color-primary-alpha, rgba(59, 130, 246, .1));display:flex;align-items:center;justify-content:center;color:var(--color-primary, #3b82f6)}.budget-performance .metric-content{flex:1}.budget-performance .metric-label{font-size:12px;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.5px}.budget-performance .metric-value{font-size:20px;font-weight:600;color:var(--color-text)}.budget-performance .monthly-breakdown{margin-top:8px}.budget-performance .monthly-breakdown h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text)}.budget-performance .monthly-table-wrapper{overflow-x:auto}.budget-performance .monthly-table{width:100%;border-collapse:collapse;font-size:13px}.budget-performance .monthly-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b7280);border-bottom:2px solid var(--color-border);white-space:nowrap}.budget-performance .monthly-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.budget-performance .monthly-table tbody tr:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .02))}.budget-performance .coverage-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.budget-performance .coverage-high{background:#16a34a1a;color:#16a34a}.budget-performance .coverage-mid{background:#eab3081a;color:#ca8a04}.budget-performance .coverage-low{background:#dc26261a;color:var(--danger, #dc2626)}.budget-performance .empty-performance{text-align:center;padding:32px 16px;color:var(--text-muted, #6b7280);font-size:14px}@media (max-width: 768px){.budget-performance .metrics-row{grid-template-columns:repeat(2,1fr)}.budget-performance .metric-value{font-size:16px}}@media (max-width: 480px){.budget-performance .metrics-row{grid-template-columns:1fr}.budget-performance .performance-header{flex-direction:column;align-items:flex-start;gap:12px}}.estimated-badge{margin-left:6px;font-size:.7rem}.recommendation-deck-modal__intro{font-size:13px;color:var(--text-secondary, #4a5568);margin-top:0}.new-rate-check-modal__zone-summary{font-weight:400;color:var(--text-muted, #718096);font-size:12px}.new-rate-check-modal__zone-picker{border:1px solid var(--border-color, #cbd5e0);border-radius:4px;padding:6px 10px;background:var(--bg-secondary, #fff);max-height:140px;overflow-y:auto;font-size:13px}.hedge-coverage{padding:1rem 0}.hedge-coverage__state{padding:2rem;text-align:center}.hedge-coverage__state--muted{color:var(--text-muted)}.hedge-coverage__error{margin:1rem 0}.hedge-coverage__empty-icon{margin-bottom:1rem;opacity:.5}.hedge-coverage__empty-year{margin-top:1rem}.hedge-coverage__empty-year-label{margin-right:.5rem}.hedge-coverage__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.hedge-coverage__year-select{display:flex;align-items:center;gap:1rem}.hedge-coverage__year-label{font-weight:500}.hedge-coverage__year-input{padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border-color)}.hedge-coverage__refresh{display:flex;align-items:center;gap:.4rem}.hedge-coverage__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.hedge-coverage__card{padding:1.25rem;border-radius:12px;border:1px solid var(--border-color);text-align:center}.hedge-coverage__card--highlight{border:none;background:linear-gradient(135deg,#003f2d,#00a88e);color:#fff}.hedge-coverage__card-label{font-size:.8rem;color:var(--text-muted);margin-bottom:.3rem}.hedge-coverage__card--highlight .hedge-coverage__card-label{color:#fff;opacity:.85}.hedge-coverage__card-value{font-size:1.5rem;font-weight:700}.hedge-coverage__card-value--xl{font-size:2rem}.hedge-coverage__card-value--accent{color:#00a88e}.hedge-coverage__card-value--danger{color:var(--danger)}.hedge-coverage__card-sub{font-size:.75rem;opacity:.8}.hedge-coverage__card-unit{font-size:.75rem;color:#9ca3af}.hedge-coverage__progress{margin-top:.75rem;height:8px;border-radius:4px;background-color:#ffffff4d;overflow:hidden}.hedge-coverage__progress-bar{height:100%;width:var(--coverage-pct, 0%);border-radius:4px;background-color:#fff;transition:width .5s ease}.hedge-coverage__chart-title{margin-bottom:.5rem}.hedge-coverage__chart-caption{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.hedge-coverage__chart{width:100%;height:320px}.hedge-coverage__table-title{margin-top:2rem;margin-bottom:.5rem}.hedge-coverage__table-wrap{overflow-x:auto}.hedge-coverage__table{width:100%;font-size:.85rem;border-collapse:collapse}.hedge-coverage__table-head-row{border-bottom:2px solid var(--border-color)}.hedge-coverage__table-row{border-bottom:1px solid var(--border-light)}.hedge-coverage__table-foot-row{border-top:2px solid var(--border-color);font-weight:700}.hedge-coverage__th{padding:.5rem}.hedge-coverage__th--left{text-align:left}.hedge-coverage__th--right{text-align:right}.hedge-coverage__td{padding:.5rem}.hedge-coverage__td--right{text-align:right}.hedge-coverage__td--month{font-weight:500}.hedge-coverage__td--accent{color:#00a88e;font-weight:500}.hedge-coverage__td--danger{color:var(--danger)}.hedge-coverage__td--muted{color:var(--text-muted)}.hedge-coverage__badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.hedge-coverage__badge--high{background-color:#d1fae5;color:#065f46}.hedge-coverage__badge--mid{background-color:#fef3c7;color:#92400e}.hedge-coverage__badge--low{background-color:#fee2e2;color:#991b1b}.dollar-source-inline{display:inline-flex;align-items:center;gap:4px}.dollar-source-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-secondary, #6b7280);cursor:pointer;border-radius:50%;transition:background .15s ease,color .15s ease}.dollar-source-trigger:hover,.dollar-source-trigger:focus-visible{background:#003f2d14;color:var(--accent, #003F2D);outline:none}.dollar-source-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;justify-content:flex-end}.dollar-source-panel{width:min(560px,100vw);height:100vh;background:var(--bg-primary, white);box-shadow:-4px 0 24px #0003;display:flex;flex-direction:column;animation:dollar-source-slide-in .18s ease-out}@keyframes dollar-source-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.dollar-source-panel{animation:none}}.dollar-source-panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.dollar-source-panel__header h3{margin:0;font-size:16px;color:var(--text-primary)}.dollar-source-panel__close{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-secondary, #6b7280)}.dollar-source-panel__close:hover{color:var(--text-primary)}.dollar-source-panel__body{flex:1;overflow-y:auto;padding:16px 20px}.dollar-source-panel__loading,.dollar-source-panel__error,.dollar-source-panel__empty{text-align:center;padding:24px 12px;font-size:13px;color:var(--text-secondary, #6b7280)}.dollar-source-panel__error{color:var(--danger, #dc2626)}.dollar-source-panel__meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 16px;font-size:13px}.dollar-source-panel__meta dt{font-weight:600;color:var(--text-secondary, #6b7280)}.dollar-source-panel__meta dd{margin:0;color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:12px}.dollar-source-panel__total{font-family:inherit!important;font-size:18px!important;font-weight:600;color:var(--accent, #003F2D)}.dollar-source-panel__rows{width:100%;border-collapse:collapse;font-size:12px}.dollar-source-panel__rows th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);padding:8px 6px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.dollar-source-panel__rows td{padding:8px 6px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .06));vertical-align:top}.dollar-source-panel__rows .text-right{text-align:right;font-weight:500}.dollar-source-panel__sub{font-size:11px;color:var(--text-secondary, #6b7280)}.dollar-source-panel .badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dollar-source-panel .badge-budget{background:#003f2d1a;color:var(--accent, #003F2D)}.dollar-source-panel .badge-hedge{background:#17e88f2e;color:#0a6a3d}.dollar-source-panel .badge-monthly_actual,.dollar-source-panel .badge-default{background:#4352541f;color:var(--dark-grey, #435254)}@media (max-width: 600px){.dollar-source-panel{width:100vw}}.btn-sm{padding:5px 10px;font-size:13px;gap:6px}.btn-xs{padding:3px 7px;font-size:11px;gap:4px;border-radius:var(--radius-sm, 4px)}.variance-commentary{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .08))}.variance-commentary__toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:var(--radius-md, 6px);cursor:pointer;transition:background .15s ease}.variance-commentary__toggle:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.variance-commentary__body{margin-top:12px;background:var(--bg-secondary, rgba(0, 0, 0, .02));padding:16px;border-radius:var(--radius-md, 6px)}.variance-commentary__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.variance-commentary__header h4{margin:0;font-size:14px;color:var(--text-primary)}.variance-commentary__form{background:var(--bg-primary, white);padding:12px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color, rgba(0, 0, 0, .08));margin-bottom:12px}.variance-commentary__form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.variance-commentary__field{display:flex;flex-direction:column;gap:4px}.variance-commentary__field--full{margin-bottom:12px}.variance-commentary__field label{font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280)}.variance-commentary__field select,.variance-commentary__field input,.variance-commentary__field textarea{padding:6px 10px;font-size:13px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:var(--radius-sm, 4px);background:var(--bg-primary, white);color:var(--text-primary);font-family:inherit}.variance-commentary__field textarea{resize:vertical;min-height:60px}.variance-commentary__form-actions{display:flex;justify-content:flex-end;gap:8px}.variance-commentary__loading,.variance-commentary__empty{text-align:center;padding:16px;font-size:13px;color:var(--text-secondary, #6b7280)}.variance-commentary__list{display:flex;flex-direction:column;gap:10px}.variance-commentary__item{background:var(--bg-primary, white);padding:12px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color, rgba(0, 0, 0, .08))}.variance-commentary__item-meta{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:6px}.variance-commentary__item-foot{margin-bottom:0;margin-top:8px;justify-content:space-between;color:var(--text-secondary, #6b7280)}.variance-commentary__month{font-weight:600;color:var(--text-primary)}.variance-commentary__category{background:#3b82f61a;color:#2563eb;padding:2px 8px;border-radius:12px}.variance-commentary__impact{font-weight:500;color:var(--text-primary)}.variance-commentary__text{font-size:13px;color:var(--text-primary);line-height:1.5;white-space:pre-wrap}.variance-commentary__author{font-style:italic}.variance-commentary__item-actions{display:flex;gap:4px}@media (max-width: 768px){.variance-commentary__form-row{grid-template-columns:1fr}.variance-commentary__item-meta{flex-wrap:wrap}}@media (min-width: 769px) and (max-width: 1024px){.app-layout:not(.sidebar-collapsed) .sidebar{width:200px}.app-layout:not(.sidebar-collapsed) .main-content{margin-left:200px}.sidebar-nav li a{font-size:13px}.stats-grid{grid-template-columns:repeat(2,1fr)}.data-table th,.data-table td{padding:8px 10px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sidebar{transition:none!important}.modal-backdrop,.modal{transition:none!important;animation:none!important}.myday-skeleton__panel,.skeleton-row,.skeleton-card,.skeleton-line{animation:none!important;background:var(--bg-secondary, #f9fafb)!important}}@media print{.sidebar,.sidebar-overlay,.mobile-menu-toggle,.page-header .header-actions,.header-right,.section-actions,.table-toolbar,.table-pagination,.btn,.icon-btn,.action-queue__toggle,.action-queue__item-dismiss,.action-queue__item-recommend,.myday-focus__cta{display:none!important}.main-content,.app-layout .main-content,.app-layout.sidebar-collapsed .main-content{margin-left:0!important;padding:0!important;width:100%!important}.page-content{padding:12px!important}body,.app-layout,.main-content,.page-content,.myday-panel,.action-queue,.stat-card,.client-card,.data-table,.modal{background:#fff!important;color:#000!important;border-color:#ccc!important}.stat-card,.client-card,.myday-panel,.action-queue,.info-card,.data-table tr{break-inside:avoid;page-break-inside:avoid}a[href]:not(.btn):after{content:" (" attr(href) ")";font-size:90%;color:#555}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}}@supports (padding: env(safe-area-inset-bottom)){@media (max-width: 768px){.main-content{padding-bottom:env(safe-area-inset-bottom)}.modal-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}}@media (hover: none) and (pointer: coarse){.page-header{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 var(--border-color, rgba(0, 0, 0, .06))}.data-table thead th{position:sticky;top:56px;background:var(--bg-secondary);z-index:5}}.approval-queue-page{padding:20px;max-width:1400px;margin:0 auto}.approval-queue-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.approval-queue-page__header h1{margin:0;font-size:22px;color:var(--text-primary)}.approval-queue-page__hint{font-size:12px;color:var(--text-secondary, #6b7280);margin-bottom:12px}.approval-queue-page__tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.approval-queue-page__tab{border:none;background:transparent;padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.approval-queue-page__tab.is-active{color:var(--accent, #003F2D);border-bottom-color:var(--accent, #003F2D)}.approval-queue-page__tab:hover:not(.is-active){color:var(--text-primary)}.approval-queue-page__empty{text-align:center;padding:32px;color:var(--text-secondary, #6b7280);font-size:14px}.approval-queue-page__table{width:100%;border-collapse:collapse;font-size:13px}.approval-queue-page__table th{text-align:left;font-weight:600;padding:10px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1));font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.approval-queue-page__table td{padding:10px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .06));vertical-align:top}.approval-queue-page__payload{font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-secondary, #6b7280);word-break:break-word}.approval-queue-page__actions{display:flex;gap:6px;flex-wrap:wrap}.approval-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.approval-queue-page__note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#eab30814;border-radius:var(--radius-md, 6px);font-size:12px;color:var(--text-secondary, #6b7280)}.approval-queue-page__note input{flex:1;padding:4px 8px;font-size:12px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:var(--radius-sm, 4px);background:var(--bg-primary, white)}.book-of-business-page{padding:20px;max-width:1500px;margin:0 auto;overflow-x:clip}.book-of-business-page__header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.book-of-business-page__header h1{margin:0;font-size:24px;color:var(--text-primary)}.book-of-business-page__subtitle{margin:4px 0 0;font-size:12px;color:var(--text-secondary, #6b7280)}.book-of-business-page__controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.book-of-business-page__controls label{display:flex;flex-direction:column;font-size:11px;font-weight:500;color:var(--text-secondary, #6b7280)}.book-of-business-page__controls input{margin-top:2px;padding:6px 8px;font-size:13px;width:100px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:var(--radius-sm, 4px);background:var(--bg-primary, white)}.book-of-business-page__tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}@media (max-width: 768px){.book-of-business-page__tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.book-of-business-page__tiles{grid-template-columns:1fr}}.bob-tile{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:var(--radius-md, 6px);border-left:3px solid var(--accent, #003F2D)}.bob-tile--warning{border-left-color:#ca8a04}.bob-tile--danger{border-left-color:var(--danger, #dc2626)}.bob-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#003f2d1f;color:var(--accent, #003F2D);border-radius:50%}.bob-tile--warning .bob-tile__icon{background:#ca8a041f;color:#ca8a04}.bob-tile--danger .bob-tile__icon{background:#dc26261f;color:var(--danger, #dc2626)}.bob-tile__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.bob-tile__value{font-size:22px;font-weight:600;color:var(--text-primary);margin-top:2px}.bob-tile__sub{font-size:11px;color:var(--text-secondary, #6b7280);margin-top:2px}.book-of-business-page__section{margin-bottom:28px}.book-of-business-page__section h2{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:14px;color:var(--text-primary)}.book-of-business-page__empty{text-align:center;padding:24px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:var(--radius-md, 6px);color:var(--text-secondary, #6b7280);font-size:13px}.book-of-business-page__table-wrap{overflow-x:auto}.book-of-business-page__table{width:100%;min-width:700px;border-collapse:collapse;font-size:13px}.book-of-business-page__table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);padding:8px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.book-of-business-page__table td{padding:8px 10px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .06))}.book-of-business-page__table .positive{color:#16a34a}.book-of-business-page__table .negative{color:var(--danger, #dc2626)}.book-of-business-page__no-budget{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;background:#ca8a0426;color:#ca8a04}.status-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-pill--triggered{background:#dc26261f;color:var(--danger, #dc2626)}.status-pill--active{background:#16a34a1f;color:#16a34a}.bill-review-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px}.bill-review-modal{width:100%;max-width:1280px;height:90vh;background:var(--bg-primary, white);border-radius:var(--radius-lg, 8px);box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;overflow:hidden}.bill-review-modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.bill-review-modal__header h2{margin:0;font-size:16px;display:flex;align-items:center;gap:10px}.bill-review-modal__status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:10px;background:#4352541f;color:var(--dark-grey, #435254)}.bill-review-modal__status--verified{background:#16a34a1f;color:#16a34a}.bill-review-modal__status--rejected{background:#dc26261f;color:var(--danger, #dc2626)}.bill-review-modal__status--pending{background:#eab3081f;color:#ca8a04}.bill-review-modal__body{flex:1;display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden;min-height:0}.bill-review-modal__pdf-pane,.bill-review-modal__form-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.bill-review-modal__pdf-pane{background:var(--bg-secondary, #f3f4f6);border-right:1px solid var(--border-color, rgba(0, 0, 0, .1))}.bill-review-modal__pdf{width:100%;flex:1;border:none;background:#fff}.bill-review-modal__pdf-loading,.bill-review-modal__pdf-error,.bill-review-modal__loading{display:flex;flex:1;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary, #6b7280);font-size:13px;padding:24px}.bill-review-modal__pdf-error{color:var(--danger, #dc2626)}.bill-review-modal__form-pane{overflow-y:auto;padding:16px 20px}.bill-review-modal__form-pane h3{margin:12px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.bill-review-modal__form-pane section+section{padding-top:12px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .06))}.bill-review-modal__meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:12px}.bill-review-modal__meta dt{color:var(--text-secondary, #6b7280);font-weight:600}.bill-review-modal__meta dd{margin:0;color:var(--text-primary)}.bill-review-modal__field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px}.bill-review-modal__field span{font-weight:500;color:var(--text-secondary, #6b7280)}.bill-review-modal__field input,.bill-review-modal__field textarea{padding:6px 10px;font-size:13px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:var(--radius-sm, 4px);background:var(--bg-primary, white);color:var(--text-primary);font-family:inherit}.bill-review-modal__hint{font-size:11px;color:#ca8a04}.bill-review-modal__hint code{background:#eab3081f;padding:1px 5px;border-radius:3px;font-family:var(--font-mono, monospace)}.bill-review-modal__status-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.bill-review-modal__status-option{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:var(--radius-md, 6px);cursor:pointer}.bill-review-modal__status-option.is-success{background:#16a34a1a;border-color:#16a34a}.bill-review-modal__status-option.is-warn{background:#eab3081a;border-color:#ca8a04}.bill-review-modal__status-option.is-danger{background:#dc26261a;border-color:var(--danger, #dc2626)}.bill-review-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1))}@media (max-width: 900px){.bill-review-modal{height:95vh}.bill-review-modal__body{grid-template-columns:1fr}.bill-review-modal__pdf-pane{max-height:40vh;border-right:none;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}}.rec-ledger{padding:16px;max-width:1200px;margin:0 auto}.rec-ledger__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rec-ledger__header h2{margin:0;font-size:20px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.rec-ledger__header h2 small{font-size:12px;font-weight:400;color:var(--text-secondary, #6b7280)}.rec-ledger__summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.rec-ledger__tile{background:var(--bg-secondary, rgba(0, 0, 0, .03));padding:14px 16px;border-radius:var(--radius-md, 6px);border-left:3px solid #16a34a}.rec-ledger__tile-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.rec-ledger__tile-value{font-size:20px;font-weight:600;color:var(--text-primary);margin-top:4px}.rec-ledger__section{margin-bottom:22px}.rec-ledger__section h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.rec-ledger__form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--bg-secondary, rgba(0, 0, 0, .02));padding:12px;border-radius:var(--radius-md, 6px)}@media (max-width: 900px){.rec-ledger__form{grid-template-columns:repeat(2,1fr)}.rec-ledger__summary{grid-template-columns:1fr}}@media (max-width: 480px){.rec-ledger__form{grid-template-columns:1fr}}.rec-ledger__form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary, #6b7280)}.rec-ledger__form input,.rec-ledger__form select{padding:6px 10px;font-size:13px;border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:var(--radius-sm, 4px);background:var(--bg-primary, white);color:var(--text-primary);font-family:inherit}.rec-ledger__form-submit{grid-column:1 / -1;display:flex;justify-content:flex-end}.rec-ledger__empty{text-align:center;padding:16px;color:var(--text-secondary, #6b7280);font-size:13px}.rec-ledger__table{width:100%;border-collapse:collapse;font-size:13px}.rec-ledger__table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);padding:8px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.rec-ledger__table td{padding:8px 10px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .06))}.audit-trail-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-secondary, #6b7280);cursor:pointer;border-radius:50%;transition:background .15s ease,color .15s ease;margin-left:4px}.audit-trail-trigger:hover,.audit-trail-trigger:focus-visible{background:#4352541a;color:var(--text-primary, #003F2D);outline:none}.audit-trail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;justify-content:flex-end}.audit-trail-panel{width:min(480px,100vw);height:100vh;background:var(--bg-primary, white);box-shadow:-4px 0 24px #0003;display:flex;flex-direction:column;animation:audit-trail-slide-in .18s ease-out}@keyframes audit-trail-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.audit-trail-panel{animation:none}}.audit-trail-panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.audit-trail-panel__header h3{margin:0;font-size:14px;display:flex;align-items:center;gap:6px;color:var(--text-primary)}.audit-trail-panel__close{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-secondary, #6b7280)}.audit-trail-panel__close:hover{color:var(--text-primary)}.audit-trail-panel__body{flex:1;overflow-y:auto;padding:14px 20px}.audit-trail-panel__loading,.audit-trail-panel__error,.audit-trail-panel__empty{text-align:center;padding:24px 12px;color:var(--text-secondary, #6b7280);font-size:13px}.audit-trail-panel__error{color:var(--danger, #dc2626)}.audit-trail-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.audit-trail-event{padding:10px 12px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:var(--radius-md, 6px);border-left:3px solid var(--accent, #003F2D)}.audit-trail-event__action{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--text-primary)}.audit-trail-event__meta{display:flex;gap:14px;margin-top:4px;font-size:11px;color:var(--text-secondary, #6b7280)}.audit-trail-event__meta span{display:inline-flex;align-items:center;gap:3px}.audit-trail-event__details{margin-top:6px;font-size:12px;color:var(--text-secondary, #6b7280);font-family:var(--font-mono, monospace);white-space:pre-wrap;word-break:break-word}@media (max-width: 600px){.audit-trail-panel{width:100vw}}.completeness-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.completeness-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.completeness-badge--ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.completeness-badge--missing{background:#fef2f2;border-color:#fecaca;color:#991b1b}.completeness-badge__mark{font-size:.7rem}.completeness-badges--compact .completeness-badge{padding:1px 6px;font-size:.68rem;gap:3px}.activity-timeline{margin-top:24px;border-top:1px solid var(--border-color, #e5e7eb);padding-top:16px}.activity-timeline__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.activity-timeline__header h3{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:1rem}.activity-timeline__filter{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary, #6b7280)}.activity-timeline__filter select{padding:4px 8px;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:.8rem}.activity-timeline__state{padding:24px;text-align:center;color:var(--text-secondary, #6b7280)}.activity-timeline__state--error{color:#991b1b}.activity-timeline__day{margin-bottom:16px}.activity-timeline__day-label{margin:0 0 6px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.activity-timeline__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.activity-timeline__item{display:flex;align-items:flex-start;gap:10px;padding:6px 8px;border-radius:6px;background:var(--bg-tertiary, #f9fafb)}.activity-timeline__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#e5e7eb;color:#374151;margin-top:1px}.activity-timeline__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.activity-timeline__message{font-size:.875rem;color:var(--text-primary, #111827)}.activity-timeline__details{font-size:.75rem;color:var(--text-secondary, #6b7280);word-break:break-word}.activity-timeline__time{flex-shrink:0;font-size:.72rem;color:var(--text-secondary, #9ca3af);margin-top:3px}.activity-timeline__more{display:block;margin:8px auto 0}.nudge-modal__state{padding:32px;text-align:center;color:var(--text-secondary, #6b7280)}.nudge-modal__form{display:flex;flex-direction:column;gap:12px}.nudge-modal__form textarea{width:100%;font-family:inherit;font-size:.875rem;line-height:1.5;resize:vertical}.nudge-modal__hint{margin:0;font-size:.78rem;color:var(--text-secondary, #6b7280)}.nudge-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.nudge-modal__confirm-text{font-size:.85rem;font-weight:600;color:#92400e;margin-right:auto}.row-docs{display:inline-flex;align-items:center;gap:2px}.row-docs .icon-btn{width:26px;height:26px}.row-docs__view{color:var(--accent, #003F2D)}.row-docs .icon-btn:focus-visible{outline:2px solid var(--accent, #003F2D);outline-offset:1px}.row-docs__add:disabled{cursor:default;opacity:.6}.row-docs__spinner{animation:spin 1s linear infinite}html[data-format=modern]{--font-body: "Inter", "Segoe UI", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-display: var(--font-body);--font-condensed: var(--font-body);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--sidebar-width: 240px}html[data-format=modern][data-theme=light]{--bg-primary: #F7F7F5;--bg-secondary: #FFFFFF;--bg-tertiary: #F2F3F2;--bg-hover: #EEF1EF;--text-primary: #21302C;--text-secondary: #51625D;--text-muted: #6E7D78;--border-color: #E3E7E4;--border-light: #EDF0ED;--accent: #003F2D;--accent-hover: #14573F;--accent-light: rgba(0, 63, 45, .08);--success: #0E7A4A;--warning: #8A5A00;--danger: #A62626;--info: #2D5F80;--link: #2D5F80;--warning-text: #8A5A00;--border: #E3E7E4;--border-strong: #A9B3AE;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 2px 6px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);--m-ring: 0 0 0 3px rgba(0, 63, 45, .16);--m-badge-success-bg: #E1F3E9;--m-badge-success-fg: #0F6B42;--m-badge-warning-bg: #FAF0DA;--m-badge-warning-fg: #7A5000;--m-badge-danger-bg: #FAE8E8;--m-badge-danger-fg: #9E2121;--m-badge-info-bg: #E6EFF6;--m-badge-info-fg: #25567B;--m-badge-muted-bg: #EDF0EE;--m-badge-muted-fg: #51625D;--m-btn-primary-fg: #FFFFFF;--m-nav-active-bg: rgba(0, 63, 45, .08);--m-nav-active-fg: #003F2D;--m-avatar-bg: #DCEBE4;--m-avatar-fg: #0F5138}html[data-format=modern][data-theme=dark]{--bg-primary: #141618;--bg-secondary: #1C1F21;--bg-tertiary: #24282B;--bg-hover: #2A2F32;--text-primary: #E9ECEC;--text-secondary: #ADB8B6;--text-muted: #8A9694;--border-color: #2E3437;--border-light: #272C2F;--accent: #35D695;--accent-hover: #57E6A8;--accent-light: rgba(23, 232, 143, .1);--success: #4FD695;--warning: #E3C36E;--danger: #E4766F;--info: #6FAED6;--link: #6FAED6;--warning-text: #E3C36E;--border: #2E3437;--border-strong: #4A5256;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);--m-ring: 0 0 0 3px rgba(53, 214, 149, .25);--m-badge-success-bg: rgba(23, 232, 143, .14);--m-badge-success-fg: #5BE3A6;--m-badge-warning-bg: rgba(219, 217, 154, .16);--m-badge-warning-fg: #E3C36E;--m-badge-danger-bg: rgba(228, 118, 111, .16);--m-badge-danger-fg: #EE9490;--m-badge-info-bg: rgba(111, 174, 214, .16);--m-badge-info-fg: #8FC2E2;--m-badge-muted-bg: rgba(173, 184, 182, .14);--m-badge-muted-fg: #ADB8B6;--m-btn-primary-fg: #04231A;--m-nav-active-bg: rgba(23, 232, 143, .1);--m-nav-active-fg: #57E6A8;--m-avatar-bg: #244A3B;--m-avatar-fg: #7BE8B8}html[data-format=modern][data-theme=dark] .btn-primary{background:#17e88f;color:#04231a}html[data-format=modern][data-theme=dark] .btn-primary:hover:not(:disabled){background:#4befa8;color:#04231a}html[data-format=modern] body{line-height:1.5;font-size:14px;letter-spacing:0}html[data-format=modern] h1,html[data-format=modern] h2,html[data-format=modern] h3,html[data-format=modern] h4{letter-spacing:-.01em;line-height:1.3}html[data-format=modern] a{color:var(--accent)}html[data-format=modern] .page-content{padding:28px 32px}@media (max-width: 768px){html[data-format=modern] .page-content{padding:16px}}html[data-format=modern] .sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color)}html[data-format=modern] .sidebar-header{padding:18px 16px;border-bottom:none}html[data-format=modern] .logo-text,html[data-format=modern] .logo-icon{color:var(--text-primary);font-weight:700;letter-spacing:-.02em}html[data-format=modern][data-theme=light] .logo-text,html[data-format=modern][data-theme=light] .logo-icon{color:var(--accent)}html[data-format=modern] .sidebar-nav{padding:8px 10px}html[data-format=modern] .sidebar-nav li a{padding:8px 10px;margin-bottom:1px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;font-size:13.5px}html[data-format=modern] .sidebar-nav li a:hover{background:var(--bg-hover);color:var(--text-primary)}html[data-format=modern] .sidebar-nav li a.active{background:var(--m-nav-active-bg);color:var(--m-nav-active-fg);font-weight:600}html[data-format=modern] .sidebar-nav li a svg{opacity:.85}html[data-format=modern] .nav-divider{margin:10px 6px;background:var(--border-light)}html[data-format=modern] .nav-group-label{padding:6px 10px 2px;font-size:.66rem;color:var(--text-tertiary, var(--text-secondary))}html[data-format=modern] .nav-pin{color:var(--text-tertiary, var(--text-secondary))}html[data-format=modern] .nav-pin--on{color:var(--accent)}html[data-format=modern] .sidebar-footer{border-top:1px solid var(--border-light);padding:12px}html[data-format=modern] .user-avatar{background:var(--m-avatar-bg);color:var(--m-avatar-fg);font-size:14px}html[data-format=modern] .page-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}html[data-format=modern] .page-header h1{font-size:17px;font-weight:600;color:var(--text-primary)}html[data-format=modern] .page-intro{margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border-light)}html[data-format=modern] .page-title h1{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}html[data-format=modern] .page-intro code{background:var(--bg-tertiary);border:1px solid var(--border-light)}html[data-format=modern] .header-user{color:var(--text-secondary)}html[data-format=modern] .format-toggle{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:999px;padding:2px}html[data-format=modern] .format-toggle button{border-radius:999px;padding:4px 12px}html[data-format=modern] .format-toggle button.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}html[data-format=modern] .btn{border-radius:var(--radius-md);font-weight:500;padding:8px 14px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}html[data-format=modern] .btn-primary{background:var(--accent);color:var(--m-btn-primary-fg);box-shadow:var(--shadow-sm)}html[data-format=modern] .btn-primary:hover:not(:disabled){background:var(--accent-hover)}html[data-format=modern] .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}html[data-format=modern] .btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color)}html[data-format=modern] .btn-danger{background:var(--danger);color:#fff}html[data-format=modern] .btn:focus-visible,html[data-format=modern] .icon-btn:focus-visible,html[data-format=modern] .format-toggle button:focus-visible{outline:none;box-shadow:var(--m-ring)}html[data-format=modern] .icon-btn{border-radius:var(--radius-md)}html[data-format=modern] .form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}html[data-format=modern] .form-group input,html[data-format=modern] .form-group select,html[data-format=modern] .form-group textarea,html[data-format=modern] .search-box input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}html[data-format=modern] .form-group input:focus,html[data-format=modern] .form-group select:focus,html[data-format=modern] .form-group textarea:focus,html[data-format=modern] .search-box input:focus{outline:none;border-color:var(--accent);box-shadow:var(--m-ring)}html[data-format=modern] .form-group input::placeholder,html[data-format=modern] .search-box input::placeholder{color:var(--text-muted)}html[data-format=modern] .stat-card,html[data-format=modern] .client-card,html[data-format=modern] .info-card,html[data-format=modern] .login-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}html[data-format=modern] .stat-card.clickable:hover{transform:none;border-color:var(--accent);box-shadow:var(--shadow-md)}html[data-format=modern] .client-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}html[data-format=modern] .client-card.has-alerts,html[data-format=modern] .stat-card.alert{border-color:var(--danger)}html[data-format=modern] .stat-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--shadow-sm);background:var(--bg-secondary)}html[data-format=modern] .stat-value{font-size:22px;font-weight:650;letter-spacing:-.01em}html[data-format=modern] .stat-label{font-size:12.5px}html[data-format=modern] .stat-icon{border-radius:var(--radius-md)}html[data-format=modern] .data-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}html[data-format=modern] .table-toolbar{border-bottom:1px solid var(--border-light)}html[data-format=modern] .data-table th{background:var(--bg-secondary);color:var(--text-muted);font-size:12px;font-weight:600;border-bottom:1px solid var(--border-color)}html[data-format=modern] .data-table td{border-bottom:1px solid var(--border-light);font-size:13.5px}html[data-format=modern] .data-table tbody tr:hover{background:var(--accent-light)}html[data-format=modern] .table-pagination{border-top:1px solid var(--border-light)}html[data-format=modern] .status-badge{border-radius:999px;padding:3px 10px;font-weight:500;font-size:12px}html[data-format=modern] .status-success,html[data-format=modern] .status-badge.success{background:var(--m-badge-success-bg);color:var(--m-badge-success-fg)}html[data-format=modern] .status-warning,html[data-format=modern] .status-badge.warning{background:var(--m-badge-warning-bg);color:var(--m-badge-warning-fg)}html[data-format=modern] .status-danger,html[data-format=modern] .status-badge.error{background:var(--m-badge-danger-bg);color:var(--m-badge-danger-fg)}html[data-format=modern] .status-info{background:var(--m-badge-info-bg);color:var(--m-badge-info-fg)}html[data-format=modern] .status-muted{background:var(--m-badge-muted-bg);color:var(--m-badge-muted-fg)}html[data-format=modern] .filter-badge{border-radius:999px;background:var(--accent);color:#fff}html[data-format=modern][data-theme=dark] .filter-badge{background:var(--m-badge-success-bg);color:var(--m-badge-success-fg)}html[data-format=modern] .section-header h2{font-size:16px;font-weight:600}html[data-format=modern] .tabs{border-bottom:1px solid var(--border-color);gap:4px}html[data-format=modern] .tab{border-radius:var(--radius-md) var(--radius-md) 0 0;font-weight:500;color:var(--text-muted)}html[data-format=modern] .tab:hover{color:var(--text-primary);background:var(--bg-hover)}html[data-format=modern] .tab.active{color:var(--accent);font-weight:600}html[data-format=modern] .modal{border-radius:14px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}html[data-format=modern] .modal-backdrop{background:#171e1c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}html[data-format=modern] .modal-header,html[data-format=modern] .modal-footer{border-color:var(--border-light)}html[data-format=modern] .modal-header h2{font-size:16px}html[data-format=modern] .toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}html[data-format=modern] .toast-success{background:var(--bg-secondary);color:var(--m-badge-success-fg);border-color:var(--border-color)}html[data-format=modern] .toast-error{background:var(--bg-secondary);color:var(--m-badge-danger-fg);border-color:var(--border-color)}html[data-format=modern] .toast-warning{background:var(--bg-secondary);color:var(--m-badge-warning-fg);border-color:var(--border-color)}html[data-format=modern] .toast-info{background:var(--bg-secondary);color:var(--m-badge-info-fg);border-color:var(--border-color)}html[data-format=modern] .myday-panel__header h2{text-transform:none;letter-spacing:-.01em;font-size:15px}html[data-format=modern] .myday-chip{border-radius:999px}html[data-format=modern] .login-page{background:var(--bg-primary)}html[data-format=modern] .login-container{padding:40px 36px;max-width:420px}html[data-format=modern] .login-header h1{color:var(--text-primary);font-size:24px;letter-spacing:-.02em}html[data-format=modern][data-theme=light] .login-header h1{color:var(--accent)}html[data-format=modern] ::-webkit-scrollbar{width:10px;height:10px}html[data-format=modern] ::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:999px;border:2px solid transparent;background-clip:content-box}html[data-format=modern] ::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box;border:2px solid transparent}html[data-format=modern] ::-webkit-scrollbar-track{background:transparent}
