:root{color-scheme:light;--color-primary: #1f6f4a;--color-primary-dark: #144d33;--color-bg: #f5f7f6;--color-border: #d9e0dc;--color-text: #23302a}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text)}h1,h2,h3{color:var(--color-primary-dark)}table{border-collapse:collapse;width:100%;background:#fff}table th,table td{border:1px solid var(--color-border);padding:6px 10px;text-align:right;font-variant-numeric:tabular-nums}table th:first-child,table td:first-child,table th.text,table td.text{text-align:left}table thead th{background-color:var(--color-primary);color:#fff;position:sticky;top:0}table tbody tr:nth-child(2n){background-color:#fafafa}button{cursor:pointer;border:1px solid var(--color-primary);background-color:var(--color-primary);color:#fff;border-radius:4px;padding:6px 14px;font-size:.9rem}button:hover{background-color:var(--color-primary-dark)}button.secondary{background-color:#fff;color:var(--color-primary)}button:disabled{opacity:.6;cursor:not-allowed}select,input{padding:5px 8px;border:1px solid var(--color-border);border-radius:4px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.window-label{color:var(--color-primary-dark);font-weight:600}p.info{color:var(--color-primary-dark);background-color:#e6f0ea;border:1px solid var(--color-primary);padding:8px 12px;border-radius:4px}p.error{color:#7a1f1f;background-color:#fbe7e7;border:1px solid #c94b4b;padding:8px 12px;border-radius:4px}td.corrected{font-weight:600;color:var(--color-primary-dark)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--color-primary-dark)}.sort-indicator{margin-left:4px;font-size:.75em}.pagination{display:flex;align-items:center;gap:16px;margin-top:12px}.total-row{font-weight:700;background-color:#eef4f1!important}.grand-total-row{font-weight:700;background-color:var(--color-primary)!important;color:#fff}.chart-container{position:relative;height:320px;margin-bottom:20px;background:#fff;border:1px solid var(--color-border);border-radius:4px;padding:12px}
