*{box-sizing:border-box;margin:0;padding:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{0%{transform:translate(-150%)}to{transform:translate(350%)}}.spinning{animation:.8s linear infinite spin;display:inline-block}body{color:#000;background:#fff;font-family:DM Sans,system-ui,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.topbar{background:#355b8d;border-bottom:1.5px solid #2a4a7a;flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 14px;display:flex}.sidebar{background:#f5f5f5;border-right:1.5px solid #e0e0e0;flex-direction:column;flex-shrink:0;gap:2px;width:172px;padding:12px 8px 0;display:flex;overflow-y:auto}.ni{color:#000;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:5px 12px;font-size:13px;text-decoration:none;display:block;overflow:hidden}.ni:hover{background:#ebebeb}.ni.act{color:#fff;background:#355b8d}.ni.dim{color:#8a8a8a}.nd{background:#e0e0e0;height:1px;margin:6px 4px}.ns{color:#8a8a8a;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px 2px;font-size:11px}.th{background:#f5f5f5;border-bottom:1.5px solid #e0e0e0;min-width:max-content;display:flex}.tr{border-bottom:1px solid #e0e0e0;min-width:max-content;display:flex}.tr:hover{background:#f5f5f5}.tr.sel{border-left:3px solid #1c1c1e}.tc{white-space:nowrap;border-right:1px solid #e0e0e0;flex-shrink:0;padding:4px 6px;font-size:12.5px;overflow:hidden}.bp{color:#fff;cursor:pointer;background:#1c1c1e;border:none;border-radius:999px;padding:7px 18px;font-family:inherit;font-size:14px;display:inline-block}.bp:hover{opacity:.9}.bs{color:#000;cursor:pointer;background:#fff;border:1.5px solid #000;border-radius:999px;padding:5px 13px;font-family:inherit;font-size:13px;display:inline-block}.bs:hover{background:#f5f5f5}.tag{border:1px solid #000;border-radius:999px;padding:1px 9px;font-size:12px;display:inline-block}.tag.f{color:#fff;background:#1c1c1e;border-color:#1c1c1e}.tag.dim{color:#8a8a8a;border-color:#e0e0e0}.tag.planned{color:#6b6b6b;background:#f1f1f1;border-color:#dedede}.tag.progress{color:#8a6d1f;background:#fff3ce;border-color:#f0de9c}.tag.issued{color:#2b5a96;background:#dcebff;border-color:#b7d4f5}.tag.approved{color:#1f7a42;background:#dcf5e3;border-color:#b8e6c6}.tag.rejected{color:#a13333;background:#fbdfdf;border-color:#f0b7b7;font-weight:700}.rowred,.rowred .tc{color:#c0524f!important}.fi{border:1px solid #e0e0e0;border-radius:4px;width:100%;padding:6px 10px;font-family:inherit;font-size:14px}.fi:focus{border-color:#355b8d;outline:none}.fi.dis{color:#8a8a8a;background:#f9f9f9}.fi.hi{border-color:#1c1c1e}.cok{color:#555;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;padding:1px 8px;font-size:11px;display:inline-block}.cck{color:#1c1c1e;background:#fff;border:1.5px solid #1c1c1e;border-radius:4px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.vt{cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:7px 13px;font-family:inherit;font-size:14px}.vt.act{border-bottom-color:#1c1c1e;font-weight:700}.kc{background:#f5f5f5;border-radius:4px;flex:1;min-width:0;padding:10px 8px}.kt{color:#8a8a8a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px}.kk{background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:7px;padding:9px 10px}.srcb{color:#555;border:1px solid #e0e0e0;border-radius:4px;align-items:center;gap:4px;padding:1px 7px;font-size:11px;display:inline-flex}.prog-bar{background:#e0e0e0;border-radius:2px;flex:1;height:4px}.prog-fill{background:#1c1c1e;border-radius:2px;height:100%}.toggle{cursor:pointer;background:#1c1c1e;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;position:relative}.toggle:after{content:"";background:#fff;border-radius:999px;width:14px;height:14px;position:absolute;top:3px;right:3px}.toggle.off{background:#e0e0e0}.toggle.off:after{left:3px;right:auto}.cell-pencil{cursor:pointer;color:#8a8a8a;opacity:0;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 2px;line-height:1;transition:opacity .15s;display:inline-flex}.tc:hover .cell-pencil{opacity:1}.tc-readonly{color:#8a8a8a;background:#f8f8f8}.tc-automated{color:#8a8a8a;background:#fafafa;font-style:italic}.cell-edit-input{background:#fff;border:1px solid #1c1c1e;border-radius:3px;outline:none;width:100%;padding:1px 4px;font-family:inherit;font-size:12.5px}.draft-row{background:#fafafa}.perm-table .tr{align-items:center;min-height:36px}.perm-table .th{align-items:center}.perm-table .tc{align-items:center;display:flex}
