:root{--sidebar-width: var(--oo-sidebar-w);--topbar-height: var(--oo-topbar-h);--color-primary: var(--oo-brand-600);--color-primary-hover: var(--oo-brand-700);--color-primary-subtle: var(--oo-brand-50);--color-primary-glow: rgba(21, 206, 206, .18);--color-accent: var(--oo-violet-500);--color-accent-subtle: #f1edff;--color-surface: var(--oo-surface);--color-surface-raised: var(--oo-surface);--color-surface-overlay: var(--oo-surface);--color-surface-sunken: var(--oo-surface-2);--color-bg: var(--oo-bg);--color-border: var(--oo-border);--color-border-subtle: var(--oo-border);--color-text: var(--oo-text);--color-text-secondary: var(--oo-text-muted);--color-text-muted: var(--oo-text-faint);--color-success: var(--oo-success);--color-warning: var(--oo-warning);--color-danger: var(--oo-danger);--color-info: var(--oo-info);--radius-sm: var(--oo-radius-sm);--radius-md: var(--oo-radius);--radius-lg: var(--oo-radius-lg);--radius-full: 9999px;--shadow-sm: var(--oo-shadow-xs);--shadow-md: var(--oo-shadow-sm);--shadow-lg: var(--oo-shadow-md);--shadow-glow: none;--font-display: var(--oo-font);--font-body: var(--oo-font);--font-mono: var(--oo-font);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-spring: .25s ease}.shortcuts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0a0e1a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out}.shortcuts-panel{width:380px;max-width:92vw;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px 28px;animation:cardReveal .2s cubic-bezier(.16,1,.3,1)}.shortcuts-panel h3{margin-bottom:16px}.shortcuts-list{display:flex;flex-direction:column;gap:8px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--color-text-secondary)}kbd{display:inline-block;min-width:20px;text-align:center;padding:2px 6px;font-family:var(--font-mono);font-size:11px;color:var(--color-text);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:4px}h1{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--color-text);line-height:1.15}h2{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--color-text);line-height:1.2}h3{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--color-text);letter-spacing:-.01em;line-height:1.3}h4{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--color-text);line-height:1.4}p{line-height:1.6;color:var(--color-text)}p+p{margin-top:12px}.text-xs{font-size:12px;line-height:1.5}.text-sm{font-size:14px;line-height:1.55}.text-base{font-size:16px;line-height:1.55}.text-lg{font-size:20px;line-height:1.4}.text-xl{font-size:24px;line-height:1.3}.text-2xl{font-size:32px;line-height:1.15}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.bulk-bar{position:sticky;top:var(--topbar-height);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 16px;background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);animation:fadeIn .15s ease-out}.bulk-bar-count{font-weight:600;font-size:13px;color:var(--color-primary-hover)}.bulk-bar-actions{display:flex;align-items:center;gap:8px}.editable-cell{display:inline-flex;align-items:center;gap:6px}.editable-cell-edit{border:none;background:none;cursor:pointer;color:var(--color-text-muted);font-size:12px;line-height:1;padding:2px 4px;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.editable-cell-edit:hover{opacity:1;color:var(--color-primary);background:var(--color-primary-subtle)}.editable-cell-error{color:var(--color-danger);font-weight:700;cursor:help}.editable-cell-editing{min-width:180px}.editable-cell-editing .combobox-input{height:32px;padding:5px 38px 5px 10px;font-size:13px}.bulk-assign{width:190px}.bulk-assign .combobox-input{height:34px;padding:6px 40px 6px 12px;font-size:13px}.load-more{display:flex;justify-content:center;margin-top:12px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border);background:var(--color-surface-sunken)}.form{max-width:560px;background:var(--color-surface);padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:var(--color-text-secondary);letter-spacing:.01em}.form-group input[type=text],.form-group input[type=date],.form-group textarea,.form-group select{width:100%;padding:10px 14px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group textarea{height:auto;min-height:88px;resize:vertical}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-actions{display:flex;gap:10px;margin-top:28px}.form-section-divider{border:none;border-top:1px solid var(--color-border-subtle);margin:24px 0}.form-section-title{font-family:var(--font-display);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:16px}.form-group.has-error input,.form-group.has-error textarea,.form-group.has-error select{border-color:var(--color-danger);background:#fef8f8}.form-group.has-error input:focus,.form-group.has-error textarea:focus,.form-group.has-error select:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261f}.form-group.has-error label{color:var(--color-danger)}.form-error-message{display:block;margin-top:4px;font-size:12px;font-weight:500;color:var(--color-danger);line-height:1.3;animation:fadeIn .2s ease-out}.form-group input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--color-border);border-radius:4px;background:var(--color-surface);cursor:pointer;vertical-align:middle;position:relative;transition:all var(--transition-fast);flex-shrink:0}.form-group input[type=checkbox]:hover{border-color:var(--color-primary)}.form-group input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.form-group input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.form-group input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.combobox{position:relative;width:100%}.combobox-input-wrap{position:relative;display:flex;align-items:center}.combobox-input{width:100%;padding:10px 56px 10px 14px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.combobox-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);cursor:text}.combobox-input::placeholder{color:var(--color-text-muted)}.combobox-input:disabled{opacity:.6;cursor:not-allowed}.combobox-clear{position:absolute;right:28px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:50%;transition:color var(--transition-fast),background var(--transition-fast)}.combobox-clear:hover{color:var(--color-danger);background:#dc262614}.combobox-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--color-text-muted);pointer-events:none}.combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;padding:4px}.combobox-option{display:block;width:100%;padding:8px 12px;border:none;background:none;text-align:left;font-size:14px;font-family:inherit;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-option:hover,.combobox-option.active{background:var(--color-hover)}.combobox-option.selected{color:var(--color-primary);font-weight:600}.combobox-option.selected:before{content:"";font-family:bootstrap-icons;font-size:12px;margin-right:4px}.combobox-empty{padding:12px;text-align:center;font-size:13px;color:var(--color-text-muted)}.combobox-highlight{background:#3b82f626;color:var(--color-primary);border-radius:2px;padding:0 1px}.checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text);-webkit-user-select:none;user-select:none}.required-mark{color:var(--color-danger);font-weight:700;margin-left:2px}.search-bar{display:flex;gap:8px;margin-bottom:16px}.search-bar input{flex:1;padding:10px 14px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-bar input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.surface-flat{background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:none}.surface-base{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.surface-raised{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.surface-overlay{background:var(--color-surface-overlay);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.surface-raised:hover,.surface-base:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);transition:all var(--transition-spring)}.gap-filter-chips{display:inline-flex;gap:8px;flex-wrap:wrap}.pr-aging-banner{display:flex;gap:24px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:3px solid var(--color-warning);background:var(--color-surface);font-size:14px;color:var(--color-text-muted)}.timeline-actor{font-size:13px;color:var(--color-text-muted);margin-top:2px}.pending-meta{display:inline-flex;align-items:center;gap:12px}.report-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.report-card{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface);text-decoration:none;color:inherit;transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.report-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-card-title{font-family:var(--font-display);font-weight:700}.report-card-desc{font-size:13px;color:var(--color-text-muted)}.report-table .report-group-row td{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-bg);padding-top:12px}.report-table .report-subtotal td{font-weight:600;border-top:1px solid var(--color-border)}.report-table .report-total td{font-weight:800;border-top:2px solid var(--color-border)}.summary-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px 28px;display:flex;flex-direction:column;align-items:center;min-width:150px;flex:1;position:relative;overflow:hidden;transition:all var(--transition-spring)}.summary-stat:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);transition:height var(--transition-normal)}.summary-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-stat:hover:after{height:4px}.summary-value{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.1;color:var(--color-text);letter-spacing:-.02em}.summary-secondary{font-size:1rem;font-weight:400;color:var(--color-text-muted)}.summary-money{font-family:var(--font-mono);font-size:1.15rem}.summary-label{font-family:var(--font-display);font-size:11px;color:var(--color-text-muted);margin-top:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{font-size:16px;letter-spacing:-.01em}.card-subsection{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-subtle)}.card-subsection .card-header{margin-bottom:8px}.card-stats{display:flex;gap:28px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border-subtle)}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-family:var(--font-display);font-size:1.85rem;font-weight:800;line-height:1;letter-spacing:-.02em}.stat-label{font-size:11px;color:var(--color-text-muted);margin-top:4px;font-weight:600;letter-spacing:.02em}.stat-danger .stat-value{color:var(--color-danger)}.stat-warning .stat-value{color:var(--color-warning)}.card-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--color-border-subtle);text-decoration:none;color:inherit;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.card-item:hover{background:var(--color-surface-sunken);margin:0 -12px;padding:8px 12px}.card-item-static{cursor:default}.card-item-static:hover{background:transparent;margin:0;padding:8px 0}.card-item-title{font-weight:500;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--color-text)}.card-item-meta{display:flex;gap:8px;align-items:center;flex-shrink:0}.card-item-sub{font-size:12px;color:var(--color-text-muted);flex-shrink:0}.card-item-number{font-size:12px;color:var(--color-text-muted);font-weight:400}.card-item-date{font-size:12px;color:var(--color-text-muted);font-weight:400;min-width:70px}.task-search{display:flex;gap:8px;flex:1;min-width:200px}.task-search input{flex:1;padding:8px 14px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.task-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.task-subject-link{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}.task-subject-link:hover{color:var(--color-primary-hover);text-decoration:underline}.task-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.task-detail-header h1{margin-bottom:6px}.task-badges{display:flex;gap:6px;flex-wrap:wrap}.task-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.task-detail-info{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px 28px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:20px}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.info-label{display:block;font-family:var(--font-display);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);margin-bottom:4px;font-weight:600}.info-value{font-weight:500;font-size:14px;color:var(--color-text)}.task-section{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px 28px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:16px}.task-section h3{font-size:16px;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3{font-size:16px;font-weight:600}.empty-section{color:var(--color-text-muted);font-size:13px;font-style:italic;padding:8px 0}.add-link-dialog{display:flex;gap:8px;align-items:center;margin-bottom:12px}.add-link-dialog select{padding:6px 14px;height:38px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-family:inherit;min-width:200px;background:var(--color-surface);transition:border-color var(--transition-fast)}.add-link-dialog select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.budget-create-form{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.budget-create-form input{padding:6px 14px;height:38px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-family:inherit;transition:border-color var(--transition-fast)}.budget-create-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.budget-summary-bar{display:flex;gap:32px;background:var(--color-surface);border-radius:var(--radius-lg);padding:20px 28px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:20px}.budget-summary-item{display:flex;flex-direction:column}.budget-item-add-form{margin-bottom:12px}.budget-item-add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.budget-item-add-row select,.budget-item-add-row input{padding:6px 14px;height:38px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-family:inherit;background:var(--color-surface);transition:border-color var(--transition-fast)}.budget-item-add-row select:focus,.budget-item-add-row input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.budget-item-add-row select{min-width:160px}.budget-item-add-row input[type=text]{flex:1;min-width:120px}.row-reduced{background:#fffbeb}.reduce-info{cursor:help}.reduce-dialog{background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}.reduce-dialog h4{margin-bottom:8px;font-size:14px}.reduce-fields{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.reduce-fields input{padding:6px 14px;height:38px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-family:inherit;transition:border-color var(--transition-fast)}.reduce-fields input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.reduce-fields input[type=text]{flex:1;min-width:200px}.stats-table{margin-top:8px}.stats-total-row{background:var(--color-surface-sunken);border-top:2px solid var(--color-border)}.stats-total-row td{border-top:2px solid var(--color-border);padding-top:8px}.pending-inbox{background:var(--color-accent-subtle);border:1px solid #fcd34d;border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.pending-inbox h3{font-family:var(--font-display);font-size:14px;margin-bottom:8px;color:#92400e;font-weight:700}.pending-list{display:flex;flex-direction:column;gap:4px}.pending-item{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-surface);border-radius:var(--radius-sm);text-decoration:none;color:inherit;transition:background var(--transition-fast)}.pending-item:hover{background:#fef3c7}.pending-name{font-weight:500;font-size:13px}.approval-progress{display:flex;align-items:center;gap:8px}.progress-bar-mini{width:60px;height:5px;background:var(--color-border);border-radius:3px;overflow:hidden}.progress-fill{display:block;height:100%;background:var(--color-success);border-radius:3px;transition:width .5s cubic-bezier(.16,1,.3,1)}.progress-text{font-size:12px;color:var(--color-text-muted)}.approval-timeline{display:flex;flex-direction:column;gap:0}.timeline-stage{display:flex;gap:14px;min-height:56px}.timeline-connector{display:flex;flex-direction:column;align-items:center;width:30px;flex-shrink:0}.timeline-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);transition:all var(--transition-normal)}.stage-approved .timeline-dot{border-color:var(--color-success);background:#ecfdf5;color:var(--color-success);box-shadow:0 0 8px #05966926}.stage-rejected .timeline-dot{border-color:var(--color-danger);background:#fef2f2;color:var(--color-danger);box-shadow:0 0 8px #dc262626}.stage-pending .timeline-dot{border-color:var(--color-warning);background:#fffbeb;color:var(--color-warning);box-shadow:0 0 8px #d9770626}.timeline-line{width:2px;flex:1;background:var(--color-border);min-height:16px}.timeline-content{padding:4px 0 16px;flex:1}.timeline-header{display:flex;align-items:center;gap:8px}.timeline-stage-num{font-family:var(--font-display);font-weight:700;font-size:14px}.timeline-date{font-size:12px;color:var(--color-text-muted);margin-top:2px}.timeline-comment{font-size:13px;color:var(--color-text-secondary);margin-top:6px;padding:8px 12px;background:var(--color-surface-sunken);border-radius:var(--radius-sm);border-left:3px solid var(--color-border)}.approval-action-form{background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}.approval-action-form.rejection{background:#fef2f2;border-color:#fca5a5}.approval-action-form h4{margin-bottom:8px;font-family:var(--font-display)}.approval-action-form input[type=text]{width:100%;margin-bottom:8px;padding:10px 14px;height:42px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:14px;transition:border-color var(--transition-fast)}.approval-action-form input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.rejection-reason{border-left:3px solid var(--color-danger);padding-left:16px}.stage-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.stage-row{display:flex;align-items:center;gap:8px}.stage-num{width:26px;height:26px;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:12px;font-weight:700;flex-shrink:0}.stage-row select{flex:1}.agreement-number{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);margin-top:4px}.agreement-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-bottom:24px;padding:24px 28px;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.info-item{display:flex;flex-direction:column;gap:4px}.info-item-wide{grid-column:1 / -1}.finance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.finance-card{padding:24px 28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:4px;transition:all var(--transition-spring)}.finance-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.finance-card-label{font-family:var(--font-display);font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.finance-card-value{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em}.finance-card-sub{font-size:12px;color:var(--color-text-muted)}.execution-bar{margin-bottom:24px}.execution-label{font-size:14px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.execution-detail{font-size:12px;color:var(--color-text-muted)}.execution-track{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.execution-fill{height:100%;border-radius:4px;transition:width .5s cubic-bezier(.16,1,.3,1)}.detail-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:20px}.tab-btn{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-family:var(--font-display);font-size:13px;color:var(--color-text-muted);font-weight:600;transition:all var(--transition-fast);letter-spacing:.01em}.tab-btn.active{color:var(--color-text);border-bottom-color:var(--color-primary)}.tab-btn:hover{color:var(--color-text)}.tab-content{margin-top:8px}.register-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.register-toolbar select,.register-toolbar input{padding:6px 14px;height:38px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-family:inherit;background:var(--color-surface);transition:border-color var(--transition-fast)}.register-toolbar select:focus,.register-toolbar input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.register-toolbar select{min-width:200px}.period-picker{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.period-picker-presets{display:inline-flex;gap:4px}.period-preset-active{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary-hover)}.period-picker-nav,.period-picker-range{display:inline-flex;gap:8px;align-items:center}.period-arrow{padding:5px 10px;font-size:14px;line-height:1}.period-label{min-width:110px;text-align:center;font-weight:600;white-space:nowrap}.register-status{margin-bottom:12px;color:var(--color-text-secondary);font-size:13px;font-variant-numeric:tabular-nums}.register-subtotals{margin-bottom:16px}.register-subtotals-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-secondary);padding:4px 0}.register-subtotals-toggle:hover{color:var(--color-primary)}.register-subtotals-toggle .disclosure{display:inline-block;transition:transform var(--transition-fast)}.register-subtotals-toggle .disclosure.open{transform:rotate(90deg)}.register-subtotals-table{margin-top:8px;max-width:600px}.archive-filter{display:inline-flex;gap:4px}.saved-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:16px}.saved-filter-chip{display:inline-flex;align-items:center;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-full);overflow:hidden}.saved-filter-apply{border:none;background:none;cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--color-primary);padding:4px 4px 4px 12px}.saved-filter-apply:hover{color:var(--color-primary-hover)}.saved-filter-remove{border:none;background:none;cursor:pointer;color:var(--color-text-muted);font-size:14px;line-height:1;padding:2px 8px 2px 4px}.saved-filter-remove:hover{color:var(--color-danger)}.saved-filter-save{color:var(--color-text-secondary)}.recon-candidates-row td{background:var(--color-bg);padding:8px 14px}.recon-candidates{display:flex;flex-direction:column;gap:6px}.recon-candidate{display:flex;align-items:center;gap:16px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:13px}.recon-candidate .btn{margin-left:auto}.doc-packet{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;margin-bottom:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:3px solid var(--color-success);background:var(--color-surface);font-size:13px}.doc-packet-incomplete{border-left-color:var(--color-warning)}.doc-packet-title{font-weight:600}.doc-packet-kinds{display:inline-flex;flex-wrap:wrap;gap:12px}.doc-req-ok{color:var(--color-success)}.doc-req-missing{color:var(--color-text-muted)}.doc-kind-badge{font-size:11px;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.saved-filter-shared{color:var(--color-warning);margin-right:4px}.saved-filter-naming{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.saved-filter-shared-toggle{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text-muted)}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.contact-card{padding:20px 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal)}.contact-card:hover{box-shadow:var(--shadow-sm);border-color:var(--color-primary-glow)}.contact-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.contact-card-actions{display:flex;gap:4px}.contact-field{font-size:13px;color:var(--color-text-secondary)}.contact-details{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:8px}.contact-note{font-size:12px;color:var(--color-text-muted);margin-top:4px;font-style:italic}.doc-date{color:var(--color-text-secondary);margin-left:8px}.doc-body{margin-top:24px}.doc-body h3{font-size:16px;margin-bottom:8px;color:var(--color-text)}.doc-body-text{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;white-space:pre-wrap;line-height:1.75;font-size:14px}.note-edit{margin-top:6px}.note-edit textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;resize:vertical;font-family:inherit;transition:border-color var(--transition-fast)}.note-edit textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.note-edit-actions{margin-top:6px;display:flex;gap:4px}.documents-section{margin-top:24px}.documents-section h3{font-size:16px;color:var(--color-text)}.docs-list{display:flex;flex-direction:column;gap:8px}.doc-item{display:flex;align-items:center;justify-content:space-between;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 20px;transition:all var(--transition-fast)}.doc-item:hover{background:var(--color-primary-subtle);border-color:#0891b226}.doc-item-info{display:flex;align-items:center;gap:12px}.doc-file-name{font-weight:600;color:var(--color-primary)}.doc-mime{font-size:12px;color:var(--color-text-muted)}.doc-desc{font-size:13px;color:var(--color-text-secondary)}.search-form{display:flex;gap:8px;margin-bottom:16px}.search-input{flex:1;padding:14px 18px;font-size:15px;border:2px solid var(--color-border);border-radius:var(--radius-lg);outline:none;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow)}.search-type-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.search-type-chip{padding:6px 16px;font-size:12px;border-radius:var(--radius-full);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-display);font-weight:600;transition:all var(--transition-fast)}.search-type-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.search-type-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 6px #0891b240}.search-count{font-size:13px;color:var(--color-text-muted);margin-bottom:16px}.search-group{margin-bottom:24px}.search-group-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--color-text);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.search-group-items{display:flex;flex-direction:column;gap:2px}.search-result-item{display:flex;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;color:inherit;border-radius:var(--radius-md);transition:background var(--transition-fast)}.search-result-item:hover{background:var(--color-surface-sunken)}.search-result-item .badge{flex-shrink:0;font-size:11px}.search-result-title{font-weight:600;flex-shrink:0;color:var(--color-text)}.search-result-headline{font-size:13px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-headline mark{background:none;color:var(--color-text);font-weight:700}.messages-section{margin-top:24px}.messages-section h3{font-size:16px;margin-bottom:12px}.messages-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.message-item{padding:16px 20px;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.message-header strong{color:var(--color-text)}.message-date{color:var(--color-text-muted);font-size:12px}.message-actions{margin-left:auto;display:flex;gap:4px}.message-body{color:var(--color-text);white-space:pre-wrap;line-height:1.65;font-size:13px}.message-add-form{display:flex;gap:8px;align-items:flex-end}.message-add-form textarea{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:13px;resize:vertical;transition:border-color var(--transition-fast)}.message-add-form textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-glow)}.error{color:var(--color-danger);background:#fef2f2;padding:16px 20px;border-radius:var(--radius-lg);border:1px solid #fca5a5;margin-bottom:16px;font-size:13px;font-weight:600}.empty{color:var(--color-text-muted);text-align:center;padding:56px 24px;font-size:14px;background:var(--color-surface);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.empty:before{content:"○";display:block;font-size:40px;line-height:1;margin-bottom:12px;color:var(--color-border);opacity:.6}.skeleton{background:linear-gradient(90deg,var(--color-border-subtle) 25%,var(--color-border) 50%,var(--color-border-subtle) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-line{height:14px;margin-bottom:8px;border-radius:var(--radius-sm)}.skeleton-line:last-child{width:60%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes brandPulse{0%,to{box-shadow:0 0 14px #22d3ee73}50%{box-shadow:0 0 22px #22d3eea6}}@keyframes pageReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-container{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;color:var(--color-text);pointer-events:auto;animation:toastSlideIn .35s cubic-bezier(.16,1,.3,1);max-width:400px;min-width:280px}.toast.toast-leaving{animation:toastSlideOut .25s ease forwards}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-primary)}.toast-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.toast-success .toast-icon{background:#d1fae5;color:var(--color-success)}.toast-error .toast-icon{background:#fef2f2;color:var(--color-danger)}.toast-warning .toast-icon{background:#fffbeb;color:var(--color-warning)}.toast-info .toast-icon{background:var(--color-primary-subtle);color:var(--color-primary)}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;font-size:16px;line-height:1;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.toast-close:hover{background:var(--color-surface-sunken);color:var(--color-text)}.search-type-chip:active,.pending-item:active,.card-item:active{transform:scale(.97)}@media print{.search-bar,.form-actions,.task-detail-actions{display:none!important}.task-section,.task-detail-info,.finance-card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}h1{font-size:20px}h2{font-size:16px}h3{font-size:14px}.summary-stat,.budget-summary-bar{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.toast-container,.empty:before{display:none!important}a{color:inherit;text-decoration:none}.approval-timeline{break-inside:avoid}}.hovercard{position:fixed;z-index:200;width:320px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:dropdownReveal .15s ease-out}.hovercard-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.hovercard-number{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--color-text)}.hovercard-name{font-size:13px;color:var(--color-text);line-height:1.4;margin-bottom:6px}.hovercard-meta{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.hovercard-totals{display:flex;flex-direction:column;gap:4px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--color-border-subtle)}.hovercard-totals div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hovercard-totals dt{font-size:12px;color:var(--color-text-muted)}.hovercard-totals dd{margin:0}.hovercard-empty{font-size:12px;color:var(--color-text-muted);padding:2px 0}@media(prefers-reduced-motion:reduce){.summary-stat:hover,.finance-card:hover,.surface-raised:hover,.surface-base:hover,.search-type-chip:active,.pending-item:active,.card-item:active{transform:none}}.toast-region{position:fixed;top:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-surface-overlay);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-info);animation:toast-in .16s ease-out}.toast-error{border-left-color:var(--color-danger)}.toast-success{border-left-color:var(--color-success)}.toast-info{border-left-color:var(--color-info)}.toast-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.toast-message{color:var(--color-text);font-size:.9rem;line-height:1.35}.toast-ref{color:var(--color-text-muted);font-size:.74rem;font-variant-numeric:tabular-nums}.toast-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.toast-close{background:none;border:none;color:var(--color-text-muted);font-size:1.15rem;line-height:1;cursor:pointer;padding:0 4px}.toast-close:hover{color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.field-error{display:block;margin-top:4px;color:var(--color-danger);font-size:.8rem}[aria-invalid=true]{border-color:var(--color-danger)!important}.error-boundary{max-width:540px;margin:48px auto;padding:28px;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.error-boundary h2{color:var(--color-danger);margin-bottom:8px}.error-boundary p{color:var(--color-text-secondary);margin-bottom:18px}.error-boundary-actions{display:flex;gap:10px;justify-content:center}@media(prefers-reduced-motion:reduce){.toast{animation:none}}button,input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-display)}h1{font-size:clamp(26px,2.2vw,34px);letter-spacing:-.035em}h2{font-size:21px;letter-spacing:-.025em}h3{font-size:16px;letter-spacing:-.015em}.form-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading{margin:30px 0 14px}.section-heading .page-eyebrow{margin-bottom:3px}.summary-stat{min-height:112px;padding:18px 18px 16px;display:grid;grid-template-columns:1fr auto;align-content:center;text-decoration:none;border:1px solid var(--color-border);border-radius:10px;background:#fff;box-shadow:none}.summary-stat:after{display:none}.summary-stat:hover{transform:none;border-color:#b8c5d8;box-shadow:var(--shadow-sm)}.summary-value{grid-column:1;color:var(--color-text);font-size:25px;font-weight:700;letter-spacing:-.03em}.summary-label{grid-column:1;color:var(--color-text-secondary);font-size:12px}.summary-arrow{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--color-text-muted)}.summary-stat:hover .summary-arrow{color:var(--color-primary)}.card-header{margin-bottom:12px}.card-header h3{font-size:15px}.card-item{margin-inline:-8px;padding:9px 8px;border-radius:7px;border-bottom:0}.card-item:hover{padding-left:8px;background:#f8fafc}.empty-section{padding:20px 0 8px;color:var(--color-text-muted);font-size:13px;font-style:normal}.register-toolbar,.list-toolbar{margin-bottom:14px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--color-border);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.register-toolbar-primary,.register-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.register-toolbar-primary{min-width:0;flex:1}.register-toolbar-actions{justify-content:flex-end}.period-picker{gap:10px}.period-picker-presets,.archive-filter{padding:3px;gap:2px;border-radius:8px;background:var(--color-surface-sunken)}.period-picker-presets .btn,.archive-filter .btn{min-height:30px;border:0;background:transparent;box-shadow:none;color:var(--color-text-secondary)}.period-picker-presets .period-preset-active,.archive-filter .btn-primary{color:var(--color-text);background:#fff;box-shadow:0 1px 3px #0f172a1f}.period-picker-nav{gap:4px}.period-arrow{border:0;box-shadow:none;background:transparent}.period-label{min-width:104px;font-size:13px}.register-status{margin-bottom:12px;padding:0 2px;color:var(--color-text-secondary);font-weight:500}.saved-filters{margin:-4px 0 14px}.saved-filter-chip{border-radius:7px;background:#fff}.saved-filter-save{color:var(--color-text-secondary);box-shadow:none}.list-search{width:min(420px,100%);min-height:38px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:8px;background:#f8fafc;color:var(--color-text-muted)}.list-search:focus-within{background:#fff;border-color:#93b4f9;box-shadow:0 0 0 3px var(--color-primary-glow)}.list-search input{width:100%;border:0;outline:0;background:transparent;color:var(--color-text)}.bulk-bar{border-radius:9px;background:#eef5ff;border-color:#b9cffb;box-shadow:var(--shadow-md)}.form-page{max-width:920px;margin:0 auto}.form-page-header{margin-bottom:20px}.form{max-width:none;padding:0;overflow:visible;border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);background:#fff}.form-modern .form-grid{padding:24px 24px 4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-group{margin-bottom:18px;min-width:0}.form-group-wide,.form-group-checkbox{grid-column:1 / -1}.form-group label{margin-bottom:7px;color:#445169;font-size:12px;font-weight:600}.form-group input[type=text],.form-group input[type=date],.form-group textarea,.form-group select,.combobox-input{height:42px;border-color:#d8e0eb;border-radius:8px;background:#fff;box-shadow:inset 0 1px 1px #0f172a05}.form-group textarea{min-height:96px}.form-group input:hover,.form-group textarea:hover,.form-group select:hover{border-color:#b9c5d5}.form-actions{position:sticky;bottom:0;z-index:3;margin:8px 0 0;padding:14px 24px;border-top:1px solid var(--color-border-subtle);border-radius:0 0 12px 12px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.empty{min-height:220px;padding:44px 24px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.empty:before{font-size:30px;color:#cbd5e1}.error{padding:12px 14px;border:1px solid #f0c9c6;border-radius:9px;color:#9f2f2a;background:#fff7f6;font-weight:500}.error-state{min-height:126px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid #f0c9c6;border-radius:10px;background:#fff}.error-state-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:var(--color-danger);background:#fff2f1}.error-state h3{margin-bottom:3px;font-size:14px}.error-state p{color:var(--color-text-secondary);font-size:12px}@media(max-width:1180px){.register-toolbar{align-items:flex-start}.register-toolbar-actions{width:100%;justify-content:space-between}}@media(max-width:900px){.form-page{max-width:760px}}@media(max-width:680px){.form-page-header{align-items:stretch;flex-direction:column;gap:14px}.summary-stat{min-height:88px}.register-toolbar,.list-toolbar{align-items:stretch;flex-direction:column}.register-toolbar-primary,.register-toolbar-actions{width:100%;align-items:stretch;flex-direction:column}.period-picker{align-items:stretch;flex-direction:column}.period-picker-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.period-picker-nav{justify-content:center}.archive-filter{align-self:flex-start}.form-modern .form-grid{grid-template-columns:1fr;padding:20px 18px 2px}.form-group-wide,.form-group-checkbox{grid-column:auto}.form-actions{padding:12px 18px}.error-state{grid-template-columns:auto 1fr}.error-state .btn{grid-column:1 / -1;justify-self:start}}.treasury-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.treasury-inspector{display:flex;flex-direction:column;gap:16px}.calbar input[type=date]{min-height:34px}.calbar-spacer{flex:1 1 auto}.cal-forecast{background:var(--oo-brand-50)}.cal-wrap{max-height:calc(100vh - 290px);overflow:auto}.cal-tbl{font-size:13px}.cal-tbl th small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--oo-text-faint)}.cal-tbl .cal-name{position:sticky;left:0;background:inherit;z-index:1;min-width:220px;max-width:340px}.cal-tbl thead th.cal-name{z-index:3;background:var(--oo-surface-2)}.cal-tbl tbody td.cal-name{background:var(--oo-surface)}.cal-tbl tbody tr:hover td.cal-name{background:var(--oo-brand-50)}.cal-tbl .cal-sum{position:sticky;right:0;z-index:1;box-shadow:inset 1px 0 0 var(--oo-border)}.cal-tbl thead th.cal-sum{z-index:3}.cal-tbl tbody td.cal-sum{background:var(--oo-surface)}.cal-tbl tbody tr.cal-group td.cal-sum{background:var(--oo-surface-2)}.cal-tbl tbody tr:hover td.cal-sum{background:var(--oo-brand-50)}.cal-tbl th.cal-overdue{color:var(--oo-danger)}.cal-group td{font-weight:800;background:var(--oo-surface-2)}.cal-group td.cal-name{background:var(--oo-surface-2)}.cal-item td.cal-name{padding-left:34px;font-weight:600}.cal-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font:inherit;font-weight:800;color:var(--oo-text);cursor:pointer;padding:0;text-align:left}.cal-tbl tfoot td{font-weight:800;border-top:1px solid var(--oo-border);white-space:nowrap}.cal-tbl tfoot td.cal-name{background:var(--oo-surface-2);white-space:normal}.cal-tbl th.num,.cal-tbl td.num{padding-left:6px;padding-right:6px}.cal-total td{background:var(--oo-surface-2);border-top:2px solid var(--oo-border-strong)}.cal-running td,.cal-running td.cal-name{background:var(--oo-brand-50);color:var(--oo-brand-700)}.cal-running td.text-danger{color:var(--oo-danger)}.cal-running small{font-weight:600;color:var(--oo-text-muted)}.cal-gap td{font-weight:600;color:var(--oo-text-muted);background:#fff}.calgap{font-variant-numeric:tabular-nums}.cal-banner{margin:0;border-radius:0;border-width:1px 0 0}.pending .li-end{flex-direction:column;align-items:flex-end;gap:4px}.cal-gap-move{border-top:1px solid var(--oo-border)}.cal-gap-move .list-row{cursor:pointer}.cal-gap-move .list-row.locked{cursor:default;color:var(--oo-text-muted)}.cal-gap-move .li-s{display:block}.cal-gap-move-foot{border-top:1px solid var(--oo-border);border-bottom:0}.cal-gap-move>.field-warning{display:block;padding:0 16px 12px}@media(max-width:1600px){.treasury-layout{grid-template-columns:minmax(0,1fr)}.treasury-inspector{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cal-tbl .cal-name{min-width:180px}}.cal-cell{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:1px 4px;margin:-1px -4px;border-radius:var(--oo-radius-sm);text-decoration:underline dashed var(--oo-text-faint);text-underline-offset:3px;font-variant-numeric:tabular-nums;white-space:nowrap}.cal-cell:hover,.cal-cell:focus-visible{background:var(--oo-brand-100);color:var(--oo-brand-700);outline:2px solid var(--oo-brand-500);outline-offset:0}.cal-tbl .cal-col-active,.cal-tbl tbody tr.cal-row-active td,.cal-tbl tbody tr.cal-row-active td.cal-name,.cal-tbl tbody tr.cal-row-active td.cal-sum{background:var(--oo-brand-50)}.cal-tbl td.cal-cell-active{box-shadow:inset 0 0 0 2px var(--oo-brand-500)}.cal-tbl tbody tr td.cal-landed{background:var(--oo-success-bg);box-shadow:inset 0 0 0 2px var(--oo-success)}@media(min-width:721px){.treasury-layout.drill-open{grid-template-columns:minmax(0,1fr) 380px}.cal-drill{position:sticky;top:calc(var(--oo-topbar-h) + 16px);max-height:calc(100vh - var(--oo-topbar-h) - 32px);overflow-y:auto}}.cal-drill-h{align-items:flex-start}.cal-drill-head{min-width:0}.cal-drill-head h3:focus{outline:none}.cal-drill-head .sub{display:block}.cal-drill-item{font-weight:800;margin-top:2px}.cal-drill-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--oo-border);background:var(--oo-surface-2)}.cal-drill-total .kpi-val{font-size:20px;font-variant-numeric:tabular-nums}.cal-drill-total .kpi-val small{font-size:12px;color:var(--oo-text-muted)}.cal-drill-chip.ok{color:var(--oo-success);border-color:var(--oo-success);background:var(--oo-success-bg)}.cal-drill-chip.changed{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--oo-warning)}.cal-drill-note{margin:12px 16px 0}.cal-drill-group-h{display:flex;justify-content:space-between;gap:8px;padding:10px 16px 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--oo-text-muted)}.cal-drill-group-h .money{font-variant-numeric:tabular-nums}.cal-drill-row{padding:8px 16px;border-top:1px solid var(--oo-border)}.cal-drill-row.locked{color:var(--oo-text-muted)}.cal-drill-row-top{display:flex;align-items:baseline;gap:8px}.cal-drill-row-top .li-t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-drill-row-top .money{flex:none;font-weight:700;font-variant-numeric:tabular-nums}.cal-drill-row-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;font-size:12.5px;color:var(--oo-text-muted)}.cal-drill-cp{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-drill-overdue{font-weight:700}.cal-drill-lock{color:var(--oo-text-muted);cursor:help}.cal-drill-acts{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.cal-drill-move{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:10px 12px;border:1px solid var(--oo-border);border-radius:var(--oo-radius);background:var(--oo-surface-2);font-size:13px}.cal-drill-move label{display:flex;align-items:center;gap:8px;cursor:pointer}.cal-drill-move-foot{display:flex;gap:6px}.cal-drill-rule{margin:0;padding:10px 16px;border-top:1px solid var(--oo-border);font-size:12.5px;color:var(--oo-text-muted)}.cal-drill-skel-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0}.cal-drill-skel-row span{height:12px;border-radius:var(--oo-radius-sm);background:var(--oo-neutral-bg)}.cal-drill-skel-row span:first-child{flex:1 1 auto}.cal-drill-skel-row span:last-child{width:80px}@media(max-width:720px){.cal-tbl .cal-name{min-width:150px}.cal-tbl .cal-sum{position:static}}@page treasury-calendar{size:landscape;margin:10mm}@media print{.treasury{page:treasury-calendar}.treasury .kpi-row,.treasury .calbar,.treasury .cal-forecast,.treasury .cal-build,.treasury .treasury-inspector,.treasury>.note{display:none}.treasury-layout{display:block}.cal-wrap{max-height:none;overflow:visible;border:0}.cal-tbl{font-size:9px}.cal-tbl thead th,.cal-tbl .cal-name,.cal-tbl .cal-sum{position:static}.cal-tbl .cal-name{min-width:0}.cal-tbl tr{break-inside:avoid}}.payment-batch-form,.payment-batch-open{margin-bottom:16px}.payment-batch-candidates{max-height:360px}.payment-batch-row .li-end{gap:10px}.row-error td{background:var(--oo-danger-bg)}.tbl tbody tr.row-error:hover td{background:#fbdcd8}.registry-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.chip-sep{width:1px;height:22px;background:var(--oo-border)}.chip-dates input,.chip-select select{border:0;background:transparent;padding:0;font-weight:700;color:inherit;min-width:0}.chip-select select{max-width:150px;cursor:pointer}.chip-dates:focus-within,.chip-select:focus-within{border-color:var(--oo-brand-500)}.registry-search{margin-left:auto;width:230px;max-width:100%}.kpi-toggle[aria-pressed=true]{border-color:var(--oo-danger);box-shadow:0 0 0 1px var(--oo-danger)}.row-acts{display:inline-flex;gap:4px;justify-content:flex-end}.rc-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rc-picker select{max-width:220px;border:1px solid var(--oo-border-strong);border-radius:var(--oo-radius);background:var(--oo-surface);padding:4px 8px;font-size:13px;min-height:32px}.batch-checks{flex-direction:column;align-items:flex-start;gap:6px}.batch-check{display:flex;align-items:center;gap:8px}@media(max-width:720px){.registry-search{margin-left:0;width:100%}.chip-sep{display:none}}
