@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";:root{--dark:#14273f;--active:#3e4552;--text:#1b2431;--text2:#4a5566;--muted:#8a94a6;--muted2:#a8b1bf;--faint:#c4cbd6;--bg:#f4f6fa;--menu-bg:#fafbfd;--white:#fff;--border:#eef1f6;--border2:#e7ecf3;--zebra:#f5f8fc;--row-hover:#eef4fc;--green:#1e7145;--green-bg:#dff3e6;--green-bg2:#cfe7d8;--red:#d42a4e;--red2:#c02546;--red-bg:#fbe0e6;--red-bg2:#f0bdc9;--blue:#2f6be4;--blue2:#7fb2f0;--blue-bg:#edf3fe;--yellow:#8a6a12;--yellow-bg:#fff4dc;--yellow-bg2:#e8c879}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,Helvetica Neue,Arial,sans-serif}button,input{font-family:inherit}.app-shell{min-width:1760px;min-height:100vh;display:flex}.sidebar{background:var(--menu-bg);border-right:1px solid var(--border);flex-direction:column;flex:0 0 250px;width:250px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.logo{letter-spacing:.12em;color:var(--text);padding:6px 10px 22px;font-size:26px;font-weight:700}.nav-item{color:var(--text2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin:2px 0;padding:13px 14px;font-size:15px;font-weight:500;display:flex;position:relative}.nav-item svg{flex:0 0 18px;width:18px;height:18px}.nav-item.active{color:var(--text);background:#eef2f7}.nav-item .badge{background:var(--red);color:#fff;text-align:center;border-radius:7px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:12px;font-weight:700}.nav-spacer{flex:1}.content{flex:1;min-width:0;padding:26px 30px 60px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.btn{background:var(--white);border:1px solid var(--border2);height:52px;color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--muted2)}.btn.active{color:var(--dark);border-color:var(--dark)}.btn-primary-square{background:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;line-height:1;display:inline-flex}.btn-green-outline{border-color:var(--green);color:var(--green)}.btn-danger{background:var(--red);color:#fff;border:none}.btn-approve{background:var(--green);color:#fff;border:none}.search-box{border:1px solid var(--border2);background:var(--white);border-radius:12px;align-items:center;gap:8px;width:240px;height:52px;padding:0 14px;display:flex}.search-box input{background:0 0;border:none;outline:none;width:100%;font-size:14px}.period-toggle{background:var(--white);border:1px solid var(--border2);border-radius:12px;height:52px;display:inline-flex;overflow:hidden}.period-toggle>div{color:var(--text2);background:var(--bg);cursor:pointer;align-items:center;padding:0 16px;font-size:14px;font-weight:500;display:flex}.period-toggle>div.on{background:var(--active);color:#fff}.toolbar-spacer{flex:1}.card{background:var(--white);border-radius:16px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px;font-size:12px;font-weight:600}tbody td{border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px}tbody tr:nth-child(2n){background:var(--zebra)}tbody tr:hover{background:var(--row-hover);cursor:pointer}.muted{color:var(--muted)}.strike{color:var(--muted);text-decoration:line-through}.badge{border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.badge-red{background:var(--red-bg);color:var(--red2)}.badge-green{background:var(--green-bg);color:var(--green)}.badge-grey{color:var(--text2);background:#eef2f7}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-dark{background:var(--active);color:#fff}.badge-yellow{background:var(--yellow-bg);color:var(--yellow)}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;padding:16px;font-size:13px;display:flex}.page-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.page-btn.on{background:var(--active);color:#fff}.day-cell{min-width:52px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.day-cell.empty{color:var(--faint)}.day-cell.changed{background:var(--red-bg);border-color:var(--red-bg2);color:var(--red2)}.day-cell.approvedchange{background:var(--blue-bg);border-color:var(--blue2);color:var(--blue)}.day-cell.voided{background:var(--yellow-bg);border-color:var(--yellow-bg2);color:var(--yellow)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;padding:14px 16px;font-size:12px;display:flex}.legend-dot{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.overlay{z-index:50;background:#14273f4d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:720px;max-height:88vh;padding:26px 30px 30px;overflow-y:auto;box-shadow:0 30px 80px #14273f3d}.modal.wide{width:min(1120px,100vw - 56px)}.modal h2{margin:0 0 18px;font-size:19px}.field-row{align-items:center;gap:14px;margin-bottom:12px;display:flex}.field-row label{width:150px;color:var(--muted);flex:0 0 150px;font-size:13px}.field-row input,.field-row select{border:1px solid var(--border2);border-radius:9px;flex:1;height:40px;padding:0 12px;font-size:14px}.calc-box{background:var(--bg);border-radius:12px;margin-top:18px;padding:16px;font-size:14px}.calc-row{justify-content:space-between;padding:4px 0;display:flex}.calc-row.total{border-top:1px solid var(--border2);margin-top:6px;padding-top:10px;font-size:16px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.toast-wrap{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{background:var(--dark);color:#fff;border-radius:12px;padding:12px 20px;font-size:14px;box-shadow:0 18px 40px #14273f47}.tiles{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px;display:grid}.tile{background:#fff;border-radius:16px;padding:18px 20px}.tile .cap{color:var(--muted);margin-bottom:8px;font-size:13px}.tile .val{font-size:19px;font-weight:700}.block-title{margin:26px 0 12px;font-size:16px;font-weight:600}.plan-cards{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.plan-card{background:#fff;border-radius:16px;flex:0 0 196px;width:196px;padding:14px;font-size:13px}.plan-card .pc-date{align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.plan-card .pc-row{color:var(--text2);justify-content:space-between;margin-bottom:6px;display:flex}.plan-card input[type=number]{border:1px solid var(--border2);border-radius:8px;width:56px;height:30px;padding:0 8px}.pc-verdict{text-align:center;border-radius:8px;margin-top:8px;padding:6px 8px;font-size:12px;font-weight:600}.pc-verdict.ok{background:var(--green-bg);color:var(--green)}.pc-verdict.bad{background:var(--red-bg);color:var(--red2)}.pc-fact{border-top:1px dashed var(--border2);margin-top:10px;padding-top:8px}.emp-card{background:#fff;border-radius:16px;gap:26px;padding:30px;display:flex}.emp-avatar{background:var(--faint);border-radius:18px;flex:0 0 150px;width:150px;height:150px}.emp-name{margin:4px 0 6px;font-size:30px;font-weight:700}.emp-pos{color:var(--muted);margin-bottom:14px;font-size:16px}.emp-info-grid{grid-template-columns:1fr 1fr;gap:10px 30px;margin-top:18px;display:grid}.emp-info-grid .k{color:var(--muted);font-size:12px}.emp-info-grid .v{margin-bottom:10px;font-size:14px}.link-btn{color:var(--blue);cursor:pointer;font-size:13px}.back-link{color:var(--text2);cursor:pointer;margin-bottom:14px;font-size:14px;display:inline-block}.history{border-top:1px solid var(--border);color:var(--text2);margin-top:16px;padding-top:10px;font-size:13px}.history-toggle{cursor:pointer;color:var(--blue);font-size:13px}.history-entry{padding:4px 0}.checkbox-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}
