/* CargoCentro operations · uses the shared Parcel GoGo foundation. */
.admin-shell { min-height: 100vh; background: #f2f5ee; padding: 0 32px 24px; }
.admin-top { max-width: 1340px; margin: auto; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid #d6dfd2; }
.admin-top .brand-logo { width: 88px; }.admin-top .button-ghost { background: white; color: var(--ink); border-color: #b3c4b2; }.admin-top .button-ghost:hover { background: #e5eddc; }
.admin-container { max-width: 1340px; margin: 35px auto; }.admin-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 28px; }.admin-heading h1 { font-size: 38px; margin: 8px 0 10px; }.admin-lede { color: var(--muted); font-size: 16px; max-width: 690px; }
.admin-login { max-width: 440px; margin: 70px auto; padding: 32px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow); }.admin-login h1 { font-size: 30px; margin: 14px 0; }.admin-login label { display: block; font-size: 14px; font-weight: 700; margin: 22px 0 8px; }.admin-login input { width: 100%; border: 1px solid #b9c9b8; border-radius: 8px; padding: 12px; font-size: 16px; }.admin-login .button { width: 100%; margin-top: 20px; }
.admin-tabs { display: flex; gap: 5px; padding: 5px; background: #e7eddf; width: fit-content; max-width: 100%; border-radius: 12px; margin-bottom: 24px; }.admin-tabs button { min-height: 44px; border: 0; border-radius: 8px; background: transparent; padding: 10px 22px; font-size: 15px; font-weight: 700; color: #49613f; }.admin-tabs button.active { background: var(--ink); color: white; box-shadow: 0 3px 8px #163b3417; }.admin-tabs span { margin-left: 7px; opacity: .85; }
.admin-search { display: grid; grid-template-columns: minmax(0,1fr); gap: 9px; margin: 0 0 25px; padding: 22px 24px; border: 1px solid var(--line); border-radius: 14px; background: white; }.admin-search label { display: block; font-size: 15px; font-weight: 700; }.search-control { display: flex; gap: 10px; max-width: 780px; }.admin-search input { display: block; width: 100%; min-width: 0; min-height: 48px; background: #fafbf8; border: 1px solid #b8cbb6; border-radius: 8px; padding: 11px 14px; font-size: 16px; color: var(--ink); }.search-clear { border: 1px solid #bccab6; border-radius: 8px; color: var(--ink); background: white; padding: 0 16px; font-size: 14px; }.admin-search small { display: block; color: var(--muted); font-size: 13px; line-height: 1.6; }.search-feedback { font-size: 13px; color: #4a6541; min-height: 21px; }
.admin-table-wrap { background: white; border: 1px solid #d7e1d2; border-radius: 14px; overflow: auto; box-shadow: var(--shadow); }.admin-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.admin-table th { background: #eaf0e3; color: #48633e; font-size: 11px; letter-spacing: .09em; font-weight: 700; text-align: left; padding: 16px; border-bottom: 1px solid #d4decc; }.admin-table td { vertical-align: top; padding: 22px 16px; border-bottom: 1px solid #e4eadf; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }.admin-table tr:last-child td { border-bottom: 0; }.admin-table tr:hover td { background: #fcfdf9; }.admin-table strong { display: block; font-size: 15px; color: var(--ink); margin-bottom: 5px; }.admin-table small { display: block; font-size: 13px; color: var(--muted); }.admin-table th:first-child { width: 18%; }.admin-table th:nth-child(2) { width: 18%; }.admin-table th:nth-child(3) { width: 25%; }.admin-table th:nth-child(4) { width: 19%; }.admin-table th:last-child { width: 20%; }.shipments-table th:nth-child(3) { width: 17%; }.shipments-table th:last-child { width: 28%; }
.admin-table select { max-width: 100%; width: 100%; border: 1px solid #bdcdb8; border-radius: 7px; background: white; padding: 10px; color: var(--ink); font-size: 14px; min-height: 44px; }.admin-table button { min-height: 42px; background: var(--ink); border: 0; border-radius: 7px; padding: 10px 14px; color: white; font-size: 14px; font-weight: 700; }.record-details { margin-top: 12px; }.record-details summary { color: #41613b; font-size: 13px; font-weight: 700; }.record-details p { margin-top: 7px; font-size: 13px; color: var(--muted); }
.status-badge { display: inline-block; padding: 5px 10px; border-radius: 7px; font-size: 12px; font-weight: 700; line-height: 1.5; background: #eaf0e3; color: #416036; margin-bottom: 10px; }.status-delivered { background: #dff1de; color: #24622b; }.status-attention { background: #fff0da; color: #80500b; }.status-transit { background: #e3eeef; color: #215e65; }
.progress-track { display: flex; gap: 3px; margin: 3px 0 8px; }.progress-track span { flex: 1; height: 5px; background: #e3eadf; border-radius: 3px; }.progress-track .complete { background: #678943; }.admin-table .stage-caption { font-size: 11px; color: #52694b; }
.update-details { padding: 0; }.update-details > summary { padding: 9px 12px; color: var(--ink); border: 1px solid #b3c9a6; background: #f4f8ec; border-radius: 8px; font-size: 14px; font-weight: 700; }.update-details[open] > summary { background: #e6efd9; margin-bottom: 14px; }
.event-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }.event-form label { display: block; font-size: 13px; font-weight: 700; }.event-form input, .event-form textarea, .event-form select { display: block; width: 100%; min-height: 44px; margin-top: 6px; background: white; border: 1px solid #bdcdb8; border-radius: 7px; padding: 10px; color: var(--ink); font-size: 14px; font-weight: 400; }.event-form textarea { resize: vertical; }.event-form select option:disabled { color: #758370; }.event-form .progress-hint { font-size: 12px; line-height: 1.5; color: #52674a; }.event-form button { width: 100%; }.record-reference { letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.admin-alert { margin: 16px 0; padding: 14px 18px; border: 1px solid #e7bcae; border-radius: 10px; background: #fff1eb; color: #862f1c; font-size: 14px; }.admin-success { background: #edf5e2; color: #375b25; border-color: #bcd5a8; }.admin-empty { padding: 50px 24px; text-align: center; background: white; border: 1px solid var(--line); border-radius: 14px; color: var(--muted); }
.admin-note { color: var(--muted); font-size: 13px; margin-top: 22px; }.admin-guidance { padding: 22px 24px; margin-top: 26px; border-radius: 12px; background: #e9efe1; }.admin-guidance summary { font-weight: 700; font-size: 14px; }.admin-guidance p { margin-top: 13px; font-size: 14px; color: #4d6247; }.admin-footer { max-width: 1340px; margin: 30px auto 0; font-size: 13px; color: var(--muted); }.admin-footer a { text-decoration: underline; }.admin-footer span { margin: 0 8px; }
@media (max-width: 1100px) { .admin-shell { padding: 0 22px 22px; }.admin-table th, .admin-table td { padding: 16px 12px; }.admin-table th:nth-child(3) { width: 22%; }.admin-table th:last-child { width: 23%; }.shipments-table th:nth-child(3) { width: 16%; }.shipments-table th:last-child { width: 29%; } }
@media (max-width: 800px) {
 .admin-shell { padding: 0 16px 24px; }.admin-top { padding: 16px 0; }.admin-top .brand-logo { width: 76px; }.admin-container { margin-top: 26px; }.admin-heading h1 { font-size: 32px; }.admin-heading { margin-bottom: 22px; }.admin-lede { font-size: 15px; }.admin-tabs { width: 100%; }.admin-tabs button { flex: 1; padding: 10px 12px; font-size: 14px; }.admin-search { padding: 18px; }.search-control { flex-wrap: wrap; }.search-control input { flex: 1 1 220px; }.search-clear { min-height: 40px; }.admin-table-wrap { border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }.admin-table, .admin-table tbody { display: block; }.admin-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }.admin-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 18px; background: white; border: 1px solid #d3dfcc; border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }.admin-table td { display: block; border: 0; padding: 17px; }.admin-table td::before { content: attr(data-label); display: block; font-size: 10px; color: #5e7255; letter-spacing: .1em; font-weight: 700; margin-bottom: 7px; }.admin-table td:last-child { grid-column: 1 / -1; border-top: 1px solid #e3eadd; background: #fafcf7; }.admin-table tr:hover td { background: unset; }.admin-table td strong { font-size: 14px; }.event-form input, .event-form textarea, .event-form select { font-size: 16px; }.admin-login { margin-top: 40px; padding: 26px; }.admin-guidance { padding: 20px; }
}
@media (max-width: 380px) { .admin-table tr { grid-template-columns: minmax(0,1fr); }.admin-tabs button { font-size: 13px; padding: 9px; } }
