body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f7fb;color:#06142d}.page-wrapper{display:flex;min-height:100vh}.left-side{width:240px;background:#eef1f6;position:fixed;left:0;top:0;bottom:0;border-right:1px solid #dde3ee}.brand{padding:28px 24px;font-size:24px;font-weight:800;color:#102b63;letter-spacing:.5px}.menu{padding:20px 0}.menu a{display:flex;align-items:center;gap:12px;padding:16px 24px;color:#06142d;text-decoration:none;font-size:15px}.menu a:hover,.menu a.active{background:#fff;color:#0066b3;border-left:4px solid #2aa8f2;padding-left:20px}.menu svg{width:20px;height:20px;fill:#2aa8f2}.logout-link{position:absolute;bottom:20px;left:0;right:0}.right-side{margin-left:240px;width:calc(100% - 240px)}.header-area{height:78px;background:#fff;border-bottom:1px solid #dde3ee;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.header-logo{font-size:24px;font-weight:800;color:#102b63}.welcome{font-size:14px;text-align:right;line-height:22px}.main-area{padding:32px}.page-title h2{margin:0 0 8px 0;font-size:26px;color:#06142d}.page-title p{margin:0 0 24px 0;color:#60708a}.card-box{background:#fff;border-radius:16px;padding:26px;box-shadow:0 10px 30px rgba(18,38,63,.08);margin-bottom:24px}.tile-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tile-card{background:#fff;border-radius:16px;padding:24px;border-left:5px solid #2aa8f2;box-shadow:0 10px 30px rgba(18,38,63,.08)}.tile-card p{margin:0 0 12px;color:#60708a}.tile-card h3{margin:0;font-size:32px;color:#003b84}.form-row{display:flex;gap:22px;align-items:flex-end;flex-wrap:wrap}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.form-control{height:42px;border:1px solid #bcc7d8;border-radius:6px;padding:0 12px;min-width:230px;font-size:14px}.text-control{border:1px solid #bcc7d8;border-radius:6px;padding:12px;width:100%;box-sizing:border-box;font-size:14px}.btn-roche,input[type="submit"].btn-roche,button.btn-roche,a.btn-roche{background:#0b63b6;color:#fff!important;border:none;border-radius:8px;padding:12px 30px;min-width:150px;font-size:15px;font-weight:700;line-height:20px;text-align:center;text-decoration:none!important;cursor:pointer;display:inline-block;transition:all .2s ease-in-out}.btn-roche:hover,input[type="submit"].btn-roche:hover,button.btn-roche:hover,a.btn-roche:hover{background:#084f91;color:#fff!important}.btn-roche-secondary{background:#fff;color:#0b63b6!important;border:1px solid #0b63b6;border-radius:8px;padding:12px 30px;min-width:150px;font-size:15px;font-weight:700;text-align:center;text-decoration:none!important;cursor:pointer;display:inline-block}.btn-danger-roche{background:#c62828;color:#fff!important;border:none;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer}.btn-small{padding:8px 15px!important;min-width:auto!important;font-size:13px!important}.table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;min-width:1200px}.report-table th{background:#0b3378;color:#fff;padding:12px 10px;text-align:left;font-size:13px;white-space:nowrap}.report-table td{padding:11px 10px;border:1px solid #dde3ee;font-size:13px;vertical-align:top}.report-table tr:nth-child(even){background:#f7f9fc}.file-link{color:#0b63b6;font-weight:700;text-decoration:none}.modal-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.45);z-index:999;display:none;align-items:center;justify-content:center}.modal-box{background:#fff;border-radius:14px;width:520px;max-width:92%;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.modal-title{font-size:20px;font-weight:800;margin-bottom:15px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.footer-area{text-align:center;color:#60708a;padding:20px}.hamburger{display:none;background:none;border:none;font-size:28px;color:#102b63}.alert-area{margin-bottom:18px}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f7fb}.login-card{width:420px;max-width:92%;background:#fff;border-radius:16px;padding:34px;box-shadow:0 12px 35px rgba(18,38,63,.12)}.login-logo{text-align:center;font-size:34px;font-weight:800;color:#102b63;margin-bottom:25px}.login-card .form-control{width:100%;box-sizing:border-box;min-width:100%}
@media(max-width:991px){.left-side{transform:translateX(-100%);transition:.2s;z-index:998}.left-side.open{transform:translateX(0)}.right-side{margin-left:0;width:100%}.hamburger{display:block}.header-area{padding:0 16px}.main-area{padding:22px 16px}.tile-row{grid-template-columns:1fr}.form-control{width:100%;min-width:100%;box-sizing:border-box}.form-row{display:block}.btn-roche,input[type="submit"].btn-roche,button.btn-roche,a.btn-roche,.btn-roche-secondary{width:100%;min-width:100%;box-sizing:border-box}.modal-actions{display:block}.modal-actions .btn-roche,.modal-actions .btn-roche-secondary,.modal-actions .btn-danger-roche{width:100%;margin-top:8px}.brand{font-size:22px}}
/* Report Action Button Fix */
.action-col,
.action-cell {
    min-width: 130px;
    width: 130px;
    text-align: center;
    vertical-align: middle !important;
}

.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 4px 0;
}

.btn-grid-action,
a.btn-grid-action,
input[type="submit"].btn-grid-action,
button.btn-grid-action {
    min-width: 86px !important;
    width: 86px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 16px !important;
    border-radius: 7px !important;
    margin: 0 !important;
    text-align: center;
}

/* Reject button */
.btn-roche-danger,
a.btn-roche-danger,
input[type="submit"].btn-roche-danger,
button.btn-roche-danger {
    background: #c82333;
    color: #ffffff !important;
    border: none;
    text-decoration: none !important;
    cursor: pointer;
    font-weight: 700;
    display: inline-block;
}

.btn-roche-danger:hover,
a.btn-roche-danger:hover,
input[type="submit"].btn-roche-danger:hover,
button.btn-roche-danger:hover {
    background: #a71d2a;
    color: #ffffff !important;
}

/* Table should not squeeze columns */
.report-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.report-table {
    min-width: 1250px;
}

.report-table th,
.report-table td {
    white-space: nowrap;
}