/* ===============================
   GLOBAL RESET
================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Segoe UI", Arial, sans-serif;
}

/* ===============================
   PAGE BACKGROUND (GREEN)
================================ */
.page-bg {
    min-height: 100vh;
    background: linear-gradient(135deg, #0b5e2a, #198754);
    display: flex;
    flex-direction: column;       /* IMPORTANT: top → bottom */
    align-items: center;
    padding: 20px 15px;
}

/* ===============================
   TOP SYSTEM HEADER
================================ */
.system-header {
    width: 100%;
    text-align: center;
    font-size: 26px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

/* ===============================
   CENTER CARD (FORM / DASHBOARD)
================================ */
.center-card {
    background: #ffffff;
    width: 90%;
    max-width: 900px;
    padding: 40px;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
}

/* ===============================
   HEADINGS
================================ */
.center-card h2 {
    text-align: center;
    color: #0b5e2a;
    margin-bottom: 25px;
}

/* ===============================
   FORM ELEMENTS
================================ */
form {
    display: flex;
    flex-direction: column;
    width: 100%;
}

label {
    margin-top: 15px;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
}

input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
    width: 90%;                /* 👈 90% width as requested */
    max-width: 100%;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 15px;
}

textarea {
    min-height: 140px;
    resize: vertical;
}

/* ===============================
   BUTTONS
================================ */
button,
.btn {
    margin-top: 25px;
    background: #198754;
    color: #fff;
    padding: 12px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
}

button:hover,
.btn:hover {
    background: #146c43;
}

/* ===============================
   TABLE (DASHBOARDS)
================================ */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

th {
    background: #e9f5ee;
    color: #0b5e2a;
    padding: 12px;
    text-align: left;
}

td {
    padding: 12px;
    border-bottom: 1px solid #ddd;
}

/* ===============================
   STATUS BADGES
================================ */
.status-badge {
    padding: 5px 12px;
    border-radius: 12px;
    font-size: 13px;
    color: #fff;
}

.status-badge.pending {
    background: #ffc107;
    color: #000;
}

.status-badge.in-progress {
    background: #0d6efd;
}

.status-badge.resolved {
    background: #198754;
}

/* ===============================
   RESPONSE BOXES
================================ */
.response-box {
    background: #f8f9fa;
    padding: 15px;
    border-left: 5px solid #198754;
    border-radius: 6px;
    margin-bottom: 15px;
}

/* ===============================
   MUTED TEXT
================================ */
.muted {
    margin-top: 15px;
    text-align: center;
    color: #666;
    font-style: italic;
}

/* ===============================
   LOGOUT BUTTON
================================ */
.logout-btn {
    display: block;
    margin-top: 30px;
}
/* =========================================
   RESPONSE TIMELINE – LONG TEXT SAFE
========================================= */

/* Container holding all responses */
.response-timeline {
    margin-top: 15px;
}

/* Individual response box */
.response-box {
    background: #f1f8f4;
    border-left: 5px solid #198754;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 15px;

    /* 🔑 CRITICAL FIXES */
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: pre-wrap;       /* preserves paragraphs */
}

/* If response is VERY long → scroll */
.response-box.long-response {
    max-height: 300px;           /* adjust if you want */
    overflow-y: auto;
}

/* Timestamp styling */
.response-box small {
    display: block;
    margin-top: 10px;
    color: #555;
    font-size: 13px;
}
/* =========================================
   SERVICOM COMPLAINT REVIEW – UI REBUILD
========================================= */

.page-bg {
    min-height: 100vh;
    background: linear-gradient(135deg, #0c6b3f, #0f8a50);
    display: flex;
    justify-content: center;
    padding: 40px 0;
}

/* Main Card */
.servicom-container {
    width: 60%;
    max-width: 1000px;
    background: #ffffff;
    border-radius: 18px;
    padding: 35px 45px;
    box-shadow: 0 20px 45px rgba(0,0,0,0.15);
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

/* Title */
.servicom-container h2 {
    text-align: center;
    color: #0c6b3f;
    font-size: 26px;
    margin-bottom: 30px;
}

/* Metadata section */
.servicom-container p {
    margin: 6px 0;
    font-size: 15px;
}

.servicom-container strong {
    color: #222;
}

/* Section headers */
.servicom-container h3 {
    margin-top: 30px;
    margin-bottom: 12px;
    font-size: 18px;
    color: #0c6b3f;
    border-bottom: 1px solid #ddd;
    padding-bottom: 6px;
}

/* Complaint text */
.text-box {
    background: #f8f9f9;
    padding: 18px;
    border-radius: 10px;
    line-height: 1.6;
    font-size: 15px;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* ===============================
   RESPONSE TIMELINE
================================ */

.response-timeline {
    max-height: 350px;          /* scrollable container */
    overflow-y: auto;
    padding-right: 10px;
}

/* Individual response */
.response-box {
    background: #f2f8f5;
    border-left: 5px solid #0c6b3f;
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 18px;
    font-size: 14.5px;
    line-height: 1.6;
    word-wrap: break-word;
    white-space: pre-wrap;
}

.response-box strong {
    color: #0c6b3f;
    font-size: 15px;
}

.response-box small {
    display: block;
    margin-top: 10px;
    color: #666;
    font-size: 12.5px;
}

/* ===============================
   FORM AREA
================================ */

form label {
    display: block;
    margin-top: 20px;
    font-weight: 600;
}

form select,
form textarea {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    margin-top: 6px;
    font-size: 14px;
}

form textarea {
    min-height: 180px;
    resize: vertical;
}

/* ===============================
   ACTION BUTTONS
================================ */

.servicom-actions {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-top: 35px;
    flex-wrap: wrap;
}

.servicom-actions .action-btn {
    width: 30%;
    min-width: 180px;
    padding: 12px 0;
    border-radius: 8px;
    font-size: 15px;
    text-align: center;
    background: #0c6b3f;
    color: #fff;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.3s ease;
}

.servicom-actions .action-btn:hover {
    background: #095c35;
}

/* ===============================
   MOBILE SAFETY
================================ */

@media (max-width: 900px) {
    .servicom-container {
        width: 90%;
        padding: 25px;
    }

    .servicom-actions .action-btn {
        width: 100%;
    }
}
/* =====================================
   SIMPLE SIZE REDUCTION (SAFE)
===================================== */

/* Reduce entire card and contents */
.center-card {
    transform: scale(0.8);          /* 80% size */
    transform-origin: top center;
    width: 100%;
}

/* Reduce text slightly */
.center-card h2 {
    font-size: 22px;
}

.center-card h3 {
    font-size: 17px;
}

.center-card p,
.center-card label {
    font-size: 14px;
}

/* Reduce textarea and inputs */
.center-card textarea {
    min-height: 140px;
    font-size: 14px;
}

/* Reduce buttons */
.center-card button,
.center-card .btn {
    width: 30%;
    font-size: 14px;
    padding: 10px;
}
/* =====================================
   SIMPLE SIZE REDUCTION (SAFE)
===================================== */

/* Reduce entire card and contents */
.center-card {
    transform: scale(0.8);          /* 80% size */
    transform-origin: top center;
    width: 100%;
}

/* Reduce text slightly */
.center-card h2 {
    font-size: 22px;
}

.center-card h3 {
    font-size: 17px;
}

.center-card p,
.center-card label {
    font-size: 14px;
}

/* Reduce textarea and inputs */
.center-card textarea {
    min-height: 140px;
    font-size: 14px;
}

/* Reduce buttons */
.center-card button,
.center-card .btn {
    width: 30%;
    font-size: 14px;
    padding: 10px;
}
/* =====================================
   SIMPLE SIZE REDUCTION (SAFE)
===================================== */

/* Reduce entire card and contents */
.center-card {
    transform: scale(0.8);          /* 80% size */
    transform-origin: top center;
    width: 100%;
}

/* Reduce text slightly */
.center-card h2 {
    font-size: 22px;
}

.center-card h3 {
    font-size: 17px;
}

.center-card p,
.center-card label {
    font-size: 14px;
}

/* Reduce textarea and inputs */
.center-card textarea {
    min-height: 140px;
    font-size: 14px;
}

/* Reduce buttons */
.center-card button,
.center-card .btn {
    width: 30%;
    font-size: 14px;
    padding: 10px;
}
/* =====================================
   SIMPLE SIZE REDUCTION (SAFE)
===================================== */

/* Reduce entire card and contents */
.center-card {
    transform: scale(0.7);          /* 80% size */
    transform-origin: top center;
    width: 100%;
}

/* Reduce text slightly */
.center-card h2 {
    font-size: 22px;
}

.center-card h3 {
    font-size: 17px;
}

.center-card p,
.center-card label {
    font-size: 14px;
}

/* Reduce textarea and inputs */
.center-card textarea {
    min-height: 140px;
    font-size: 14px;
}

/* Reduce buttons */
.center-card button,
.center-card .btn {
    width: 30%;
    font-size: 14px;
    padding: 10px;
}

/* ==============================
   GLOBAL PAGE CONTROL
   ============================== */

.page-bg {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 60px 20px;
}
/* ===============================
   GLOBAL CARD CONTROL (ALL PAGES)
   =============================== */

.center-card {
    background: #ffffff;

    /* 🔹 100% of screen */
    width: 100%;
    max-width: 950px;
    min-width: 720px;

    /* 🔹 center horizontally */
    margin: 100px auto;


    /* 🔹 compact but readable */
    padding: 95px 100px;

    border-radius: 14px;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.22);

    /* 🔹 prevent cards from becoming too tall */
    max-height: 90vh;
    overflow-y: auto;
}

@media (max-width: 768px) {
    .center-card {
        width: 92%;
        min-width: unset;
        padding: 20px;
    }
}
.center-card h2 {
    font-size: 20px;
    margin-bottom: 16px;
}

.center-card p,
.center-card label,
.center-card small {
    font-size: 14px;
}
.text-box,
.response-box {
    max-height: 220px;        /* ⬅ controls height */
    overflow-y: auto;         /* scrolls instead of expanding */
    word-break: break-word;
}
textarea {
    min-height: 160px;
    max-height: 260px;
    resize: vertical;
}
textarea {
    min-height: 160px;
    max-height: 260px;
    resize: vertical;
}
@media (max-width: 768px) {
    .center-card {
        width: 95%;
        min-width: unset;
    }

    .servicom-actions button,
    .servicom-actions .btn {
        width: 100%;
    }
}

/* ===============================
   HOMEPAGE ACTION BUTTONS
================================ */

.home-actions a {
    display: block;
    width: 60%;                  /* ✅ wider buttons */
    margin: 14px auto;           /* centered */
    padding: 14px 0;             /* taller buttons */

    background: #198754;
    color: #ffffff;

    font-size: 17px;             /* ✅ more legible */
    font-weight: 600;
    text-align: center;
    text-decoration: none;

    border-radius: 8px;
    transition: all 0.25s ease;
}

.home-actions a:hover {
    background: #146c43;
    transform: translateY(-2px);
}
/* ===============================
   HOMEPAGE ACTION BUTTONS
================================ */

.home-actions a {
    display: block;
    width: 70%;                 /* BIGGER buttons */
    margin: 18px auto;          /* space between buttons */
    padding: 18px 0;            /* taller = easier click */

    background: #198754;
    color: #ffffff;

    font-size: 20px;            /* ✅ very readable */
    font-weight: 700;
    letter-spacing: 0.5px;

    text-align: center;
    text-decoration: none;

    border-radius: 10px;
    box-shadow: 0 6px 14px rgba(0,0,0,0.18);

    transition: all 0.25s ease;
}

.home-actions a:hover {
    background: #146c43;
    transform: translateY(-3px);
    box-shadow: 0 10px 18px rgba(0,0,0,0.25);
}
/* ===============================
   INDEX PAGE CARD ONLY
================================ */

.index-page .center-card {
    max-height: none;        /* remove height restriction */
    overflow: hidden;        /* ❌ no scroll */
}
/* ===============================
   OFFICE LOGO UPLOAD
================================ */

.logo-upload {
    position: absolute;
    top: 20px;
    right: 25px;             /* change to left:25px if preferred */
    text-align: center;
}

.logo-upload label {
    display: inline-block;
    width: 32px;
    height: 32px;
    background: #ffffff;
    color: #198754;
    font-size: 22px;
    font-weight: bold;
    border-radius: 50%;
    cursor: pointer;
    line-height: 32px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

.logo-upload img {
    display: block;
    margin-top: 10px;
    max-width: 80px;
    max-height: 80px;
}
/* ===============================
   GLOBAL HEADER + LOGOS
================================ */
.global-header {
    position: fixed;
    top: 10px;
    left: 0;
    right: 0;
    height: 60px;
    z-index: 9999;
    pointer-events: none;
}

/* Logo slots */
.logo-slot {
    position: absolute;
    top: 0;
    width: 80px;
    height: 60px;
    pointer-events: auto;
    text-align: center;
}

.logo-slot.left {
    left: 15px;
}

.logo-slot.right {
    right: 15px;
}

/* Logo image */
.logo-slot img {
    max-width: 60px;
    max-height: 40px;
    display: block;
    margin: 0 auto 3px;
}

/* Upload button */
.upload-btn {
    font-size: 12px;
    background: #198754;
    color: #fff;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.upload-btn input {
    display: none;
}
/* ===============================
   GLOBAL LOGO HEADER (FIXED)
================================ */
.global-header {
    position: fixed;
    top: 10px;
    left: 0;
    right: 0;
    height: 70px;
    z-index: 9999;
    pointer-events: none;
}

/* Logo containers */
.logo-slot {
    position: absolute;
    width: 90px;
    text-align: center;
    pointer-events: auto;
}

.logo-slot.left {
    left: 15px;
}

.logo-slot.right {
    right: 15px;
}

/* Logo image size control */
.logo-slot img {
    max-width: 70px;
    max-height: 45px;
    display: block;
    margin: 0 auto 4px;
    object-fit: contain;
}

/* Upload button */
.upload-btn {
    width: 20px;
    height: 20px;
    font-size: 12px;
    background: #198754;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Hide raw file input */
.upload-btn input {
    display: none;
}
/* ===============================
   SUBMIT PAGE – BOLD LABELS
================================ */

/* Make all labels bold and clearer */
.submit-page label,
.center-card label {
    font-weight: 700;        /* Bold */
    color: #0b5e2a;          /* Deep green for clarity */
    font-size: 
