﻿/* ═══════════════════════════════════════════════════════════════
   BASE / LEGACY
   ═══════════════════════════════════════════════════════════════ */

body {
    font-size: 9pt;
    color: #606060;
    font-family: 'Century Gothic', Arial, 'Times New Roman';
    padding: 0px;
    margin: 0px;
}

.clear {
    clear: both;
}

/* ── Slider (legacy homepage carousel) ───────────────────────── */
#slider,
#slider2 {
    width: 375px;
    height: 150px;
    position: relative;
    overflow: hidden;
}

#sliderContent {
    width: 0px;
    position: absolute;
    top: 0;
    margin-left: 0;
}

.sliderImage {
    float: left;
    position: relative;
    display: none;
}

    .sliderImage span {
        position: absolute;
        font: 10px/15px Arial, Helvetica, sans-serif;
        padding: 0px;
        width: 375px;
        background-color: #ffffff;
        filter: alpha(opacity=70);
        -moz-opacity: 0.7;
        -khtml-opacity: 0.7;
        opacity: 0.7;
        color: #fff;
        display: none;
    }

/* ── Legacy link/menu/heading classes ────────────────────────── */
.NewsLink {
    text-transform: capitalize;
    font-size: 10pt;
    font-weight: bold;
    color: #ff00ff;
    text-decoration: none;
    font-family: 'Arial Narrow', Arial;
}

.MenuLinkStyle {
    font-size: 10pt;
    color: #000066;
    text-decoration: none;
}

.HeaderLinkStyle,
a.HeaderLinkStyle:link {
    font-weight: bold;
    font-size: 10pt;
    color: #ffffff;
    text-decoration: none;
}

a.HeaderLinkStyle:hover {
    font-weight: bold;
    font-size: 10pt;
    color: #ccffcc;
    text-decoration: none;
}

.HeaderStyle {
    background-color: #000;
    font-weight: bold;
    font-size: 10pt;
    font-family: Arial;
    color: white;
    text-transform: uppercase;
    text-align: center;
    border-style: outset;
    border-width: thick;
}

.HeaderStyleSortable {
    background-color: #000;
    font-weight: bold;
    font-size: 10pt;
    font-family: Arial;
    color: white;
    text-transform: uppercase;
    text-align: center;
    border-style: outset;
    border-width: thick;
}

    .HeaderStyleSortable a,
    th.HeaderStyleSortable a {
        display: inline;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        font-weight: bold;
        text-transform: uppercase;
        color: white;
        font-family: Arial;
        font-variant: normal;
        font-size: 12px;
        text-decoration: none;
    }

        .HeaderStyleSortable a:hover,
        th.HeaderStyleSortable a:hover {
            background: none;
            border: none;
            color: #ccffcc;
            text-decoration: underline;
        }

.SubMenuTitle {
    font-size: 11pt;
    font-weight: bolder;
    color: #ffffcc;
    font-family: Arial;
    font-style: italic;
}

.SubMenuItem,
a.SubMenuItem:link {
    font-size: 10pt;
    font-weight: bold;
    color: White;
    font-family: Arial;
    text-decoration: none;
    list-style-position: outside;
    list-style-type: circle;
    line-height: 13pt;
    margin-left: 25px;
}

a.SubMenuItem:hover {
    font-size: 10pt;
    font-weight: bold;
    color: yellow;
    font-family: Arial;
    list-style-position: outside;
    list-style-type: circle;
    line-height: 13pt;
    margin-left: 25px;
}

.LeftNav {
    font-weight: bold;
    font-size: 14pt;
    color: white;
    text-decoration: none;
    text-align: center;
}

.Links {
    font-weight: bold;
    font-size: 11pt;
    text-transform: uppercase;
    color: gray;
    text-decoration: none;
}

.Heading {
    font-weight: bold;
    font-size: 14pt;
    color: #314d73;
    text-decoration: none;
}

.SubHeading {
    font-weight: normal;
    font-size: 12pt;
    color: #314d73;
    text-decoration: none;
}

.ReportTitle {
    font-weight: bold;
    font-size: 11pt;
    color: #314d73;
    text-decoration: none;
}

.CalendarStyleDay {
    text-decoration: none;
    color: blue;
    font-weight: normal;
}

.ErrorText,
table td span.ErrorText {
    font-weight: bold;
    font-size: 14pt;
    color: var(--pol-red);
    text-decoration: none;
}

.GridViewStyle {
    font-size: 9pt;
    color: black;
    font-family: Arial, 'Times New Roman';
}

.LinkList {
    margin-left: 10px;
    font-size: 8pt;
}

.ContestDesc {
    margin-left: 10px;
    font-size: 11pt;
}

.ContestLink {
    margin-left: 10px;
    font-size: 9pt;
}

.trackerDatagridHeader {
    text-align: center;
    border-bottom: solid 3px black;
    vertical-align: bottom;
    font-size: 8pt;
    font-weight: bold;
}

.trackerDatagridItem {
    text-align: center;
    padding-top: 5px;
    padding-bottom: 10px;
    vertical-align: middle;
    font-size: 8pt;
}

/* Page title ("Edit Employee", "Enter Sale", etc.) */
.HeaderNew {
    font-weight: bolder;
    font-family: 'Familjen Grotesk', Arial, 'Times New Roman';
    color: #1661A0;
    font-size: 25px;
}

/* ═══════════════════════════════════════════════════════════════
   LINKS
   ═══════════════════════════════════════════════════════════════ */

A:not(:has(img)) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .4rem 1rem;
    background: #1661A0;
    color: #ffffff;
    border: 1px solid #1661A0;
    border-radius: 8px;
    font-family: 'Familjen Grotesk', Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}

    A:not(:has(img)):hover {
        background: #f97316;
        border-color: #f97316;
        color: #ffffff;
    }

    A:not(:has(img)):visited {
        color: #ffffff;
    }

/* Reset GridView/DataGrid links back to plain text links,
   overriding the button-style A rule above */
.plain-link-grid a,
.plain-link-grid a:not(:has(img)) {
    display: inline;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    color: #78716c;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
}

    .plain-link-grid a:hover,
    .plain-link-grid a:not(:has(img)):hover {
        background: none;
        border: none;
        color: #f97316;
        text-decoration: underline;
    }

/* ═══════════════════════════════════════════════════════════════
   FORM CONTROLS (global defaults)
   ═══════════════════════════════════════════════════════════════ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="date"],
textarea {
    width: 80%;
    box-sizing: border-box;
    font-size: 15px;
    color: #111;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    font-family: inherit;
}

    input[type="text"]::placeholder,
    input[type="email"]::placeholder,
    input[type="password"]::placeholder,
    input[type="number"]::placeholder,
    input[type="search"]::placeholder,
    input[type="tel"]::placeholder,
    input[type="url"]::placeholder,
    textarea::placeholder {
        color: #9ca3af;
    }

    input[type="text"]:hover,
    input[type="email"]:hover,
    input[type="password"]:hover,
    input[type="number"]:hover,
    input[type="search"]:hover,
    input[type="tel"]:hover,
    input[type="url"]:hover,
    input[type="date"]:hover,
    textarea:hover {
        border-color: #9ca3af;
    }

    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="password"]:focus,
    input[type="number"]:focus,
    input[type="search"]:focus,
    input[type="tel"]:focus,
    input[type="url"]:focus,
    input[type="date"]:focus,
    textarea:focus {
        border-color: #7f77dd;
        box-shadow: 0 0 0 3px rgba(127, 119, 221, 0.18);
    }

textarea {
    resize: vertical;
    min-height: 90px;
    line-height: 1.6;
}

select {
    width: 75%;
    box-sizing: border-box;
    font-size: 15px;
    color: #111;
    background-color: #fff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 10px 36px 10px 14px;
    outline: none;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

    select:hover {
        border-color: #9ca3af;
    }

    select:focus {
        border-color: #7f77dd;
        box-shadow: 0 0 0 3px rgba(127, 119, 221, 0.18);
    }

/* ── Modern buttons (generic, site-wide) ─────────────────────── */
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .55rem 1.3rem;
    background: #1c1917;
    color: #faf9f6;
    border: 1px solid #1c1917;
    border-radius: 8px;
    font-family: 'Familjen Grotesk', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .01em;
    cursor: pointer;
    outline: none;
    transition: background .15s ease, border-color .15s ease, transform .08s ease, box-shadow .15s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

    button:hover,
    input[type="submit"]:hover,
    input[type="button"]:hover,
    input[type="reset"]:hover {
        background: #f97316;
        border-color: #f97316;
    }

    button:active,
    input[type="submit"]:active,
    input[type="button"]:active,
    input[type="reset"]:active {
        transform: translateY(1px);
        box-shadow: 0 1px 1px rgba(0,0,0,.06);
    }

    button:focus-visible,
    input[type="submit"]:focus-visible,
    input[type="button"]:focus-visible,
    input[type="reset"]:focus-visible {
        box-shadow: 0 0 0 3px rgba(249, 115, 22, .3);
    }

    button:disabled,
    input[type="submit"]:disabled,
    input[type="button"]:disabled,
    input[type="reset"]:disabled {
        background: #d6d3cd;
        border-color: #d6d3cd;
        color: #78716c;
        cursor: default;
        box-shadow: none;
        transform: none;
    }

    /* Secondary / low-emphasis button variant — apply with class="btn-secondary"
   for lighter actions (e.g. Remove, Pick, Cancel) */
    button.btn-secondary,
    input.btn-secondary {
        background: #faf9f6;
        color: #44403c;
        border: 1px solid #d6d3cd;
        box-shadow: none;
    }

        button.btn-secondary:hover,
        input.btn-secondary:hover {
            background: #f5f3ef;
            border-color: #a8a29e;
            color: #1c1917;
        }

/* ── Shared "form-input" class — used to make asp:TextBox and
   asp:DropDownList controls match in height/padding/font-size ──── */
.form-input {
    box-sizing: border-box;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    color: #111;
    width: 100%;
}

select.form-input {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

/* .date-field-group / .date-input / .date-pick-btn removed (8/25/2026) --
   these paired a text input with a JSCal2 "Pick" popup-calendar button.
   All three date fields that used them (Add/Edit Employee, Enter Sale) now
   use native <input type="date"> pickers styled by the shared
   input[type="date"] rule above, matching every other text field on those
   pages -- no separate class needed anymore. */

/* ═══════════════════════════════════════════════════════════════
   VALIDATION / ERROR STATES
   ═══════════════════════════════════════════════════════════════ */

table td span[id*="Validator"] {
    color: var(--pol-red);
    font-weight: 700;
}

.pol-validation-summary {
    background: var(--pol-red-bg);
    border: 1px solid var(--pol-red-bd);
    border-radius: 8px;
    padding: .9rem 1.2rem;
    margin-bottom: 1rem;
}

    .pol-validation-summary,
    .pol-validation-summary li {
        color: var(--pol-red);
        font-family: var(--pol-sans);
        font-size: .85rem;
    }

span.ErrorText,
span[id*="req"] {
    color: var(--pol-red);
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   DESIGN SYSTEM — CSS VARIABLES + MODERN LAYOUT
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Familjen+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
    --pol-bg: #f0ede8;
    --pol-surface: #faf9f6;
    --pol-ink: #1c1917;
    --pol-ink2: #44403c;
    --pol-muted: #78716c;
    --pol-border: #d6d3cd;
    --pol-border-dark: #a8a29e;
    --pol-green: #166534;
    --pol-green-bg: #dcfce7;
    --pol-green-bd: #86efac;
    --pol-red: #991b1b;
    --pol-red-bg: #fee2e2;
    --pol-red-bd: #fca5a5;
    --pol-amber: #92400e;
    --pol-amber-bg: #fef3c7;
    --pol-amber-bd: #fcd34d;
    --pol-blue: #1e3a8a;
    --pol-blue-bg: #dbeafe;
    --pol-blue-bd: #93c5fd;
    --pol-mono: 'JetBrains Mono', monospace;
    --pol-sans: 'Familjen Grotesk', sans-serif;
}

/* ── Base typography ──────────────────────────────────────────── */
body {
    font-family: var(--pol-sans), Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--pol-ink2);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

table td {
    font-family: var(--pol-sans), Arial, sans-serif;
    font-size: .92rem;
    color: var(--pol-ink2);
}

td[style*="font-weight:bold"],
td[style*="Font-Bold"] {
    font-size: 1rem;
    letter-spacing: .02em;
    color: var(--pol-ink);
}

h1, h2, h3 {
    font-family: var(--pol-sans), Arial, sans-serif;
    color: var(--pol-ink);
    font-weight: 700;
    letter-spacing: -.01em;
}

/* ── Page wrapper ──────────────────────────────────────────────── */
.pol-page {
    max-width: 1500px;
    margin: 0 auto;
    padding: 1.5rem 2rem;
    font-family: var(--pol-sans);
    font-size: 15px;
    color: var(--pol-ink);
}

/* ── Title bar ─────────────────────────────────────────────────── */
.pol-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--pol-ink);
}

.pol-titlebar-left {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.pol-dot {
    width: 10px;
    height: 10px;
    background: #f97316;
    border-radius: 50%;
    flex-shrink: 0;
}

.pol-titlebar h2 {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .04em;
    margin: 0;
}

.pol-titlebar span {
    font-family: var(--pol-mono);
    font-size: .58rem;
    color: var(--pol-muted);
    letter-spacing: .1em;
}

.pol-hdr-right {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.pol-stat-pill {
    font-family: var(--pol-mono);
    font-size: .62rem;
    color: var(--pol-muted);
    padding: .3rem .7rem;
    border: 1px solid var(--pol-border);
    background: var(--pol-surface);
}

    .pol-stat-pill strong {
        color: #f97316;
    }

.pol-btn-export {
    font-family: var(--pol-mono);
    font-size: .65rem;
    letter-spacing: .08em;
    padding: .4rem .9rem;
    background: #f97316;
    color: #fff;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    transition: background .15s;
    text-decoration: none;
    display: inline-block;
}

    .pol-btn-export:hover {
        background: #ea6c0a;
        color: #fff;
    }

/* ── Summary strip ─────────────────────────────────────────────── */
.pol-summary {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.pol-stat {
    background: var(--pol-surface);
    border: 1px solid var(--pol-border);
    padding: 1rem 1.2rem;
    position: relative;
}

    .pol-stat::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
    }

    .pol-stat.c-total::after {
        background: var(--pol-ink);
    }

    .pol-stat.c-premium::after {
        background: #f97316;
    }

    .pol-stat.c-paid::after {
        background: var(--pol-green);
    }

    .pol-stat.c-pending::after {
        background: var(--pol-amber);
    }

    .pol-stat.c-portal::after {
        background: var(--pol-blue);
    }

.pol-stat-label {
    font-family: var(--pol-mono);
    font-size: .55rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pol-muted);
    margin-bottom: .4rem;
}

.pol-stat-value {
    font-family: var(--pol-mono);
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--pol-ink);
    line-height: 1;
}

    .pol-stat-value.orange {
        color: #f97316;
    }

    .pol-stat-value.green {
        color: var(--pol-green);
    }

    .pol-stat-value.amber {
        color: var(--pol-amber);
    }

    .pol-stat-value.blue {
        color: var(--pol-blue);
    }

.pol-stat-sub {
    font-family: var(--pol-mono);
    font-size: .55rem;
    color: var(--pol-muted);
    margin-top: .35rem;
}

/* ── Filter panel ──────────────────────────────────────────────── */
.pol-filter {
    background: var(--pol-surface);
    border: 1px solid var(--pol-border);
    padding: 1.1rem 1.4rem;
    margin-bottom: 1.25rem;
}

.pol-filter-head {
    font-family: var(--pol-mono);
    font-size: .58rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pol-muted);
    margin-bottom: .85rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}

    .pol-filter-head::after {
        content: '';
        flex: 1;
        height: 1px;
        background: var(--pol-border);
    }

.pol-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: flex-end;
}

.pol-fg {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

    .pol-fg label {
        font-family: var(--pol-mono);
        font-size: .55rem;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--pol-muted);
    }

    .pol-fg input,
    .pol-fg select {
        background: var(--pol-bg);
        border: 1px solid var(--pol-border-dark);
        color: var(--pol-ink);
        padding: .4rem .65rem;
        font-family: var(--pol-mono);
        font-size: .75rem;
        min-width: 140px;
        outline: none;
        border-radius: 2px;
        transition: border-color .15s;
    }

    .pol-fg.wide input {
        min-width: 200px;
    }

    .pol-fg input:focus,
    .pol-fg select:focus {
        border-color: #f97316;
    }

.pol-btn-apply {
    padding: .42rem 1.1rem;
    background: var(--pol-ink);
    color: var(--pol-bg);
    border: none;
    font-family: var(--pol-mono);
    font-size: .7rem;
    letter-spacing: .06em;
    cursor: pointer;
    border-radius: 2px;
    transition: background .12s;
}

    .pol-btn-apply:hover {
        background: var(--pol-ink2);
    }

.pol-btn-reset {
    padding: .42rem .85rem;
    background: transparent;
    color: var(--pol-muted);
    border: 1px solid var(--pol-border);
    font-family: var(--pol-mono);
    font-size: .7rem;
    cursor: pointer;
    border-radius: 2px;
    transition: color .12s, border-color .12s;
}

    .pol-btn-reset:hover {
        color: var(--pol-ink);
        border-color: var(--pol-border-dark);
    }

/* ── Table wrapper ─────────────────────────────────────────────── */
.pol-table-wrap {
    background: var(--pol-surface);
    border: 1px solid var(--pol-border);
    overflow: hidden;
}

.pol-table-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .8rem 1.4rem;
    border-bottom: 1px solid var(--pol-border);
    background: var(--pol-ink);
    color: #faf9f6;
}

.pol-table-title {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    display: flex;
    align-items: center;
    gap: .55rem;
}

    .pol-table-title::before {
        content: '';
        width: 7px;
        height: 7px;
        background: #f97316;
        border-radius: 50%;
    }

.pol-table-meta {
    font-family: var(--pol-mono);
    font-size: .6rem;
    color: #78716c;
}

.pol-grid-scroll {
    overflow-x: auto;
}

.pol-table-wrap table {
    width: 100%;
    border-collapse: collapse;
}

.pol-table-wrap thead tr {
    background: #f5f3ef;
}

.pol-table-wrap th {
    padding: .6rem .9rem;
    text-align: left;
    font-family: var(--pol-mono);
    font-size: .56rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pol-muted);
    border-bottom: 1px solid var(--pol-border);
    white-space: nowrap;
    font-weight: 500;
}

    .pol-table-wrap th.r,
    .pol-table-wrap td.r {
        text-align: right;
    }

    .pol-table-wrap th.c,
    .pol-table-wrap td.c {
        text-align: center;
    }

.pol-table-wrap tbody tr {
    border-bottom: 1px solid var(--pol-border);
    transition: background .08s;
}

    .pol-table-wrap tbody tr:last-child {
        border-bottom: none;
    }

    .pol-table-wrap tbody tr:nth-child(even) {
        background: #f7f5f2;
    }

    .pol-table-wrap tbody tr:hover {
        background: #edeae4 !important;
    }

.pol-table-wrap td {
    padding: .72rem .9rem;
    font-size: .8rem;
    vertical-align: middle;
}

/* ── Cell types ────────────────────────────────────────────────── */
.cell-id {
    font-family: var(--pol-mono);
    font-size: .65rem;
    color: var(--pol-muted);
}

.cell-name {
    font-weight: 600;
    color: var(--pol-ink);
}

.cell-policy {
    font-family: var(--pol-mono);
    font-size: .7rem;
    color: var(--pol-ink2);
}

.cell-date {
    font-family: var(--pol-mono);
    font-size: .65rem;
    color: var(--pol-muted);
}

.cell-amount {
    font-family: var(--pol-mono);
    font-size: .8rem;
    font-weight: 500;
    color: var(--pol-ink);
}

/* ── Status / activity tags ───────────────────────────────────── */
.tag {
    display: inline-block;
    padding: .18rem .5rem;
    font-family: var(--pol-mono);
    font-size: .6rem;
    letter-spacing: .04em;
    border-radius: 2px;
    border: 1px solid transparent;
    white-space: nowrap;
}

.tag-green {
    background: var(--pol-green-bg);
    color: var(--pol-green);
    border-color: var(--pol-green-bd);
}

.tag-red {
    background: var(--pol-red-bg);
    color: var(--pol-red);
    border-color: var(--pol-red-bd);
}

.tag-amber {
    background: var(--pol-amber-bg);
    color: var(--pol-amber);
    border-color: var(--pol-amber-bd);
}

.tag-blue {
    background: var(--pol-blue-bg);
    color: var(--pol-blue);
    border-color: var(--pol-blue-bd);
}

.tag-gray {
    background: #f5f3ef;
    color: var(--pol-muted);
    border-color: var(--pol-border);
}

/* ── Edit button ───────────────────────────────────────────────── */
.btn-edit {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .25rem .6rem;
    background: var(--pol-surface);
    border: 1px solid var(--pol-border-dark);
    color: var(--pol-ink2);
    font-family: var(--pol-mono);
    font-size: .62rem;
    border-radius: 2px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .12s, border-color .12s, color .12s;
}

    .btn-edit:hover {
        background: #f97316;
        border-color: #f97316;
        color: #fff;
    }

/* ── Empty state ───────────────────────────────────────────────── */
.pol-empty {
    padding: 3rem;
    text-align: center;
    color: var(--pol-muted);
}

    .pol-empty p {
        font-family: var(--pol-mono);
        font-size: .72rem;
        margin-top: .5rem;
    }

/* ── Pagination ────────────────────────────────────────────────── */
.pol-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.4rem;
    border-top: 1px solid var(--pol-border);
    background: #f5f3ef;
}

.pager-info {
    font-family: var(--pol-mono);
    font-size: .62rem;
    color: var(--pol-muted);
}

.pager-btns {
    display: flex;
    gap: .25rem;
}

.pg-btn {
    padding: .28rem .6rem;
    background: var(--pol-surface);
    border: 1px solid var(--pol-border);
    color: var(--pol-ink2);
    font-family: var(--pol-mono);
    font-size: .65rem;
    cursor: pointer;
    text-decoration: none;
    border-radius: 2px;
    transition: all .1s;
    display: inline-block;
}

    .pg-btn:hover {
        border-color: #f97316;
        color: #f97316;
    }

    .pg-btn.active {
        background: #f97316;
        color: #fff;
        border-color: #f97316;
    }

    .pg-btn.disabled {
        opacity: .35;
        pointer-events: none;
        cursor: default;
    }

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .pol-summary {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .pol-summary {
        grid-template-columns: repeat(2, 1fr);
    }

    .pol-page {
        padding: 1rem;
    }
}

/* ═══════════════════════════════════════════════════════════════
   ENTER SALE FORM
   ═══════════════════════════════════════════════════════════════ */

.sale-form-table {
    border-collapse: separate;
    border-spacing: 0;
}

.sale-section-identity {
    background: var(--pol-blue-bg);
}

    .sale-section-identity td {
        padding: 14px 16px !important;
    }

    .sale-section-identity .sale-field-label {
        color: var(--pol-blue);
    }

.sale-section-flags {
    background: var(--pol-amber-bg);
}

    .sale-section-flags td {
        padding: 14px 16px !important;
    }

    .sale-section-flags .sale-field-label {
        color: var(--pol-amber);
    }

/* ADDED (9/1/2026, per explicit instruction: "move ship to left so that it
   fits in the box of the whole screen", then "it still looks like that"
   after a display:flex-on-<tr> attempt (tried and removed above -- see git
   history / the prior file version if it's ever needed again) didn't
   visibly change anything.
   Root cause: tblSale is ONE shared HTML table across every section
   (identity: 4 cells, transaction: 2-then-3 cells), and a plain HTML table
   computes column widths across ALL its rows together. Putting flex
   directly on the flags <tr> was still fighting that table layout engine,
   since the row stayed nested inside <table style="width:100%"> --
   confirmed not to have visibly changed anything. The actual fix: the
   flags row's markup (EnterSale.aspx) was changed from 7 TableCells to a
   SINGLE spanning TableCell containing this plain nested .sale-flags-row
   div -- so the table's column-width algorithm only ever sees one cell
   here, with nothing left for it to spread unevenly, and these rules lay
   out the 7 checkboxes entirely ourselves. */
.sale-flags-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    /* CHANGED (9/1/2026, per explicit instruction: "adjust spacing between
       to fit the whole box") from a fixed 48px gap (which left the row
       clustered on the left with empty space after "Ship To") to
       space-between + width: 100% -- the 7 items now spread out to use the
       full width of the box, with gap kept as a floor so they never sit
       closer than 24px together if the box gets narrow. */
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}

.sale-flags-item {
    flex: 0 0 auto;
}

    .sale-flags-item .sale-field-label {
        color: var(--pol-amber);
    }

.sale-section-transaction {
    background: var(--pol-green-bg);
}

    .sale-section-transaction td {
        padding: 14px 16px !important;
    }

    .sale-section-transaction .sale-field-label {
        color: var(--pol-green);
    }

.sale-field-label {
    display: block;
    font-family: var(--pol-sans);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--pol-ink2);
    margin-bottom: 6px;
    white-space: nowrap;
}

.sale-required {
    color: var(--pol-red);
}

.sale-section-divider {
    height: 1px;
    background: var(--pol-border);
    border: none;
    margin: 0;
}

.sale-notes-section {
    background: var(--pol-surface);
    padding: 16px;
}

.sale-submit-row {
    padding: 16px !important;
}
