:root{--green: #2d6a4f;--green-light: #d8f3dc;--bg: #f6f8f7;--border: #d7dedb;--text: #1b2a24}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}nav{background:var(--green);color:#fff;display:flex;align-items:center;gap:4px;padding:0 16px;flex-wrap:wrap}nav .brand{font-weight:700;margin-right:16px;padding:14px 0;display:flex;align-items:center;gap:8px}.brand-logo{height:18px;display:block}.login-logo{max-width:260px;display:block;margin-bottom:8px}nav a{color:#d8f3dc;text-decoration:none;padding:14px 10px}nav a.active,nav a:hover{color:#fff;border-bottom:3px solid #95d5b2}nav .spacer{flex:1}nav button{background:transparent;border:1px solid #95d5b2;color:#fff;border-radius:4px;padding:6px 12px;cursor:pointer}.profile-menu{position:relative}.profile-menu-trigger{background:transparent;border:1px solid #95d5b2;color:#fff;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:.85rem}.profile-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:20;background:#fff;color:var(--text, #1b1b1b);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #00000026;display:flex;flex-direction:column;min-width:180px;overflow:hidden}.profile-menu-dropdown a,.profile-menu-dropdown button{padding:10px 14px;text-align:left;color:var(--text, #1b1b1b);text-decoration:none;background:#fff;border:none;border-radius:0;font-size:.9rem;cursor:pointer}.profile-menu-dropdown a:hover,.profile-menu-dropdown button:hover{background:var(--green-light)}main{max-width:1100px;margin:24px auto;padding:0 16px}h1{font-size:1.5rem}.card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{background:var(--green-light)}tr:hover td{background:#fafdfb}form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}label{display:flex;flex-direction:column;font-size:.8rem;gap:4px;font-weight:600}input,select,textarea{padding:8px;border:1px solid var(--border);border-radius:4px;font-size:.9rem;font-family:inherit}table input,table select{padding:4px 6px;font-size:.82rem;font-weight:400;width:100%;min-width:8em;background:#fff}table input:focus,table select:focus{outline:1px solid var(--green);background:#f4faf7}button.primary{background:var(--green);color:#fff;border:none;border-radius:4px;padding:10px 18px;cursor:pointer;font-size:.9rem}button.primary:hover{background:#1b4332}button.small{padding:4px 10px;font-size:.8rem}button.danger{background:#b02a37}.pagetabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.pagetabs button{padding:8px 16px;border:1px solid var(--green);border-radius:6px;background:#fff;color:var(--green);cursor:pointer;font-size:.9rem}.pagetabs button.active{background:var(--green);color:#fff}.subtabs.fytabs{margin:8px 0 4px}.subtabs.fytabs button{font-weight:700;min-width:4.2em}.subtabs.qtabs{margin:0 0 4px}.subtabs button{padding:6px 14px;border:1px solid var(--green);border-radius:16px;background:#fff;color:var(--green);cursor:pointer;font-size:.85rem}.subtabs button.active{background:var(--green);color:#fff}.table-scroll{overflow-x:auto}table.journal-table th.num,table.journal-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.journal-table tfoot td{font-weight:700;background:var(--green-light);border-bottom:none}table.journal-table tfoot tr:hover td{background:var(--green-light)}table.journal-table tr.quarter-total td{font-weight:700;background:#eef6f1;border-top:1px solid var(--border);border-bottom:2px solid var(--green)}table.journal-table tr.quarter-total:hover td{background:#eef6f1}.balance-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#3d5c50}table.compact th,table.compact td{padding:6px 8px;font-size:.82rem;white-space:nowrap}table.schedule-table th:not(:nth-child(1)):not(:nth-child(2)),table.schedule-table td:not(:nth-child(1)):not(:nth-child(2)){text-align:right}tr.schedule-sub-row td{border-top:none;font-size:.78rem}tr.schedule-sub-row.invoice-issued td{color:#9a7d0a;font-weight:600}tr.schedule-sub-row.invoice-paid td{color:#1d4ed8;font-weight:600}tr.schedule-sub-row.remaining td{color:#6b7280;font-style:italic;border-top:1px solid #9ca3af}tr.schedule-main-row.has-sub-rows td{border-bottom:none}button.linkish{background:none;border:none;padding:0;color:var(--green);font:inherit;cursor:pointer;text-decoration:underline}button.linkish:hover{color:#1b4332}select.employee-link-select{min-width:220px;max-width:100%}.editable-value{display:inline-flex;align-items:center;gap:6px;min-height:32px}.editable-value .value-label{font-variant-numeric:tabular-nums;min-width:6.5em}.editable-value.editing input[type=number]{width:140px;background:#eef6ff;border-color:#9db7d4}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--green);cursor:pointer}.icon-btn:hover{background:var(--green-light)}.icon-btn.accept{background:var(--green);border-color:var(--green);color:#fff}.icon-btn.accept:hover{background:#1b4332}.unsaved-pill{font-size:.7rem;font-weight:700;color:#8a6d00;background:#fff3cd;border:1px solid #e6d58a;border-radius:10px;padding:2px 8px;white-space:nowrap}.unsaved-banner{background:#fff3cd;border:1px solid #e6d58a;color:#6b5600;border-radius:6px;padding:10px 12px;margin:0 0 12px;font-size:.9rem}.impact-pill{display:inline-block;font-size:.7rem;font-weight:700;border-radius:10px;padding:2px 8px;margin:0 0 4px}.impact-pill.allocation{background:#e7f1ff;color:#1d4f91;border:1px solid #b7d0f5}.impact-pill.schedule{background:#e8f6ee;color:#1b4332;border:1px solid #95d5b2}tr.computed-row td{color:#5a6b63}.computed-value{font-variant-numeric:tabular-nums}.error{color:#b02a37;margin:8px 0}.success{color:var(--green);margin:8px 0}.badge{padding:2px 8px;border-radius:10px;font-size:.75rem;background:var(--green-light)}.badge.pending{background:#fff3cd}.badge.rejected{background:#f8d7da}.login-box{max-width:380px;margin:80px auto}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat{background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px}.stat .value{font-size:1.6rem;font-weight:700;color:var(--green)}.stat .value .editable-value{font-size:1.15rem}.stat .value .editable-value .value-label{min-width:0}.stat .value .editable-value.editing input[type=number]{width:120px;font-size:1rem}.stat .label{font-size:.8rem;color:#5a6b63}
