/*
 * 1KING osTicket UI
 * osTicket 1.18.4
 * Custom brand layer
 */

:root {
    --1k-charcoal: #2E2E2D;
    --1k-gold: #A8915D;
    --1k-taupe: #807152;
    --1k-teal: #4AAE9D;
    --1k-blue: #4A7AAA;
    --1k-slate: #486D78;

    --1k-bg: #F5F5F3;
    --1k-card: #FFFFFF;
    --1k-border: #E4E3DF;
    --1k-text: #2E2E2D;
    --1k-muted: #70716F;

    --1k-radius: 10px;
    --1k-radius-sm: 7px;

    --1k-shadow:
        0 2px 8px rgba(46, 46, 45, 0.06);

    --1k-shadow-hover:
        0 8px 24px rgba(46, 46, 45, 0.10);
}

/* =========================================================
   GLOBAL
   ========================================================= */

html,
body {
    background: var(--1k-bg);
    color: var(--1k-text);
}

body {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--1k-blue);
    transition: color .2s ease;
}

a:hover,
a:focus {
    color: var(--1k-slate);
}

/* =========================================================
   HEADER
   ========================================================= */

#header {
    background: var(--1k-charcoal);
    border-bottom: 3px solid var(--1k-gold);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

#header a {
    color: #fff;
}

#header a:hover {
    color: #fff;
}

/* Main navigation */

#header .nav {
    background: transparent;
}

#header .nav > li > a {
    padding: 14px 16px;
    border-radius: 6px;
    transition:
        background .2s ease,
        color .2s ease;
}

#header .nav > li > a:hover,
#header .nav > li.active > a {
    background: rgba(168, 145, 93, .18);
    color: #fff;
}

/* =========================================================
   MAIN CONTENT
   ========================================================= */

#main {
    background: var(--1k-bg);
}

#content {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   PANELS / BOXES
   ========================================================= */

.box,
.panel,
.table-container,
.form-container {
    border: 1px solid var(--1k-border);
    border-radius: var(--1k-radius);
    background: var(--1k-card);
    box-shadow: var(--1k-shadow);
}

.box {
    overflow: hidden;
}

/* =========================================================
   PAGE HEADINGS
   ========================================================= */

h1,
h2,
h3,
h4 {
    color: var(--1k-charcoal);
    font-weight: 600;
}

h1 {
    letter-spacing: -0.02em;
}

.page-title,
.title {
    color: var(--1k-charcoal);
}

/* =========================================================
   BUTTONS
   ========================================================= */

button,
input[type="submit"],
input[type="button"],
.button,
.btn {
    border-radius: var(--1k-radius-sm);
    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .15s ease;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.button:hover,
.btn:hover {
    transform: translateY(-1px);
}

/* Primary */

button[type="submit"],
input[type="submit"],
.button.primary,
.btn-primary {
    background: var(--1k-blue);
    border-color: var(--1k-blue);
    color: #fff;
}

button[type="submit"]:hover,
input[type="submit"]:hover,
.button.primary:hover,
.btn-primary:hover {
    background: var(--1k-slate);
    border-color: var(--1k-slate);
}

/* Gold / brand */

.button.gold,
.btn-gold {
    background: var(--1k-gold);
    border-color: var(--1k-gold);
    color: #fff;
}

.button.gold:hover,
.btn-gold:hover {
    background: var(--1k-taupe);
    border-color: var(--1k-taupe);
}

/* Success */

.button.success,
.btn-success {
    background: var(--1k-teal);
    border-color: var(--1k-teal);
    color: #fff;
}

/* =========================================================
   FORMS
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
select,
textarea {
    border: 1px solid #D8D7D2;
    border-radius: var(--1k-radius-sm);
    background: #fff;
    color: var(--1k-text);
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus {
    border-color: var(--1k-blue);
    box-shadow: 0 0 0 3px rgba(74, 122, 170, .12);
    outline: none;
}

/* =========================================================
   TABLES
   ========================================================= */

table {
    border-collapse: separate;
    border-spacing: 0;
}

table thead th {
    background: var(--1k-charcoal);
    color: #fff;
    font-weight: 600;
}

table thead th:first-child {
    border-top-left-radius: 8px;
}

table thead th:last-child {
    border-top-right-radius: 8px;
}

table tbody tr {
    transition: background .15s ease;
}

table tbody tr:hover {
    background: rgba(74, 122, 170, .045);
}

/* =========================================================
   TICKET STATUS
   ========================================================= */

.status-open,
.status-open a {
    color: var(--1k-blue);
}

.status-resolved,
.status-closed,
.status-completed {
    color: var(--1k-teal);
}

/* =========================================================
   TICKET / THREAD
   ========================================================= */

.thread-entry,
.message,
.ticket-thread {
    border-radius: var(--1k-radius);
    border: 1px solid var(--1k-border);
    background: var(--1k-card);
    box-shadow: var(--1k-shadow);
}

.thread-entry {
    margin-bottom: 16px;
}

.thread-entry:hover {
    box-shadow: var(--1k-shadow-hover);
}

/* =========================================================
   ALERTS
   ========================================================= */

.notice,
.info,
.warning,
.error,
.success {
    border-radius: var(--1k-radius-sm);
}

.success {
    border-left: 4px solid var(--1k-teal);
}

.info {
    border-left: 4px solid var(--1k-blue);
}

.warning {
    border-left: 4px solid var(--1k-gold);
}

/* =========================================================
   SEARCH
   ========================================================= */

#query {
    border-radius: 20px;
}

/* =========================================================
   FOOTER
   ========================================================= */

#footer {
    background: var(--1k-charcoal);
    color: rgba(255, 255, 255, .72);
    border-top: 3px solid var(--1k-gold);
}

#footer a {
    color: #fff;
}

#footer a:hover {
    color: var(--1k-gold);
}

/* =========================================================
   LOGIN
   ========================================================= */

#login {
    background: var(--1k-bg);
}

#login .login-box,
#login .box {
    background: #fff;
    border: 1px solid var(--1k-border);
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(46, 46, 45, .12);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    #content {
        width: auto;
        margin-left: 12px;
        margin-right: 12px;
    }

    .box,
    .panel,
    .table-container {
        border-radius: 8px;
    }

    table {
        font-size: 13px;
    }

    h1 {
        font-size: 24px;
    }
}

/* =========================================================
   1KING BRAND ACCENT
   ========================================================= */

::selection {
    background: var(--1k-gold);
    color: #fff;
}

/* =========================================================
   1KING CLIENT PORTAL — MODERN UI
   osTicket 1.18.4
   ========================================================= */

/* ---------------------------------------------------------
   PAGE
   --------------------------------------------------------- */

html {
    background: #f5f5f3;
}

body {
    margin: 0;
    background: #f5f5f3;
    color: var(--1k-text);
    font-size: 14px;
    line-height: 1.55;
}

#container {
    min-height: calc(100vh - 100px);
}

/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

#header {
    position: relative;
    min-height: 82px;
    padding: 0 32px;
    background: var(--1k-charcoal);
    border-bottom: 3px solid var(--1k-gold);
    box-shadow: 0 4px 18px rgba(46, 46, 45, .14);
    box-sizing: border-box;
}

/* Logo */

#logo {
    display: flex;
    align-items: center;
    height: 82px;
    text-decoration: none;
}

#logo img {
    max-width: 190px;
    max-height: 55px;
    width: auto;
    height: auto;
    transition: opacity .2s ease, transform .2s ease;
}

#logo:hover img {
    opacity: .92;
    transform: translateY(-1px);
}

/* Account area */

#header .flush-right {
    padding-top: 17px;
}

#header .flush-right p {
    margin: 0 0 7px;
    color: rgba(255,255,255,.70);
    font-size: 13px;
}

#header .flush-right a {
    color: rgba(255,255,255,.88);
    text-decoration: none;
    transition: color .2s ease;
}

#header .flush-right a:hover {
    color: var(--1k-gold);
}

/* ---------------------------------------------------------
   NAVIGATION
   --------------------------------------------------------- */

#nav {
    display: flex;
    align-items: center;
    gap: 4px;

    min-height: 54px;
    margin: 0;
    padding: 0 32px;

    background: #fff;
    border-bottom: 1px solid var(--1k-border);
    box-shadow: 0 2px 8px rgba(46,46,45,.04);

    list-style: none;
}

#nav li {
    margin: 0;
    padding: 0;
}

#nav li a {
    position: relative;

    display: block;
    padding: 16px 18px;

    color: var(--1k-muted);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;

    transition:
        color .2s ease,
        background .2s ease;
}

#nav li a:hover {
    color: var(--1k-charcoal);
    background: rgba(168,145,93,.08);
}

#nav li a.active {
    color: var(--1k-charcoal);
}

#nav li a.active::after {
    content: "";

    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;

    height: 3px;

    background: var(--1k-gold);
    border-radius: 3px 3px 0 0;
}

/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

#content {
    width: calc(100% - 64px);
    max-width: 1280px;
    margin: 0 auto;
    padding: 42px 0 60px;
    box-sizing: border-box;
}

#content > h1:first-child {
    margin-top: 0;
}

/* ---------------------------------------------------------
   HEADINGS
   --------------------------------------------------------- */

#content h1 {
    margin: 0 0 12px;
    color: var(--1k-charcoal);
    font-size: 30px;
    line-height: 1.25;
    font-weight: 650;
    letter-spacing: -.025em;
}

#content h2 {
    color: var(--1k-charcoal);
    font-weight: 600;
}

#content > p {
    color: var(--1k-muted);
}

/* ---------------------------------------------------------
   SEARCH PANEL
   --------------------------------------------------------- */

.search.well {
    margin: 0 0 26px;
    padding: 18px 20px;

    background: #fff;
    border: 1px solid var(--1k-border);
    border-radius: 12px;

    box-shadow: var(--1k-shadow);
}

.search.well form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.search.well .flush-left {
    width: 100%;
}

.search.well input[type="text"] {
    min-width: 280px;
    height: 42px;
    padding: 0 16px;

    border: 1px solid #d8d7d2;
    border-radius: 8px;
    box-sizing: border-box;
}

.search.well input[type="submit"] {
    height: 42px;
    padding: 0 20px;

    border: 0;
    border-radius: 8px;

    background: var(--1k-blue);
    color: #fff;

    font-weight: 600;
    cursor: pointer;
}

.search.well input[type="submit"]:hover {
    background: var(--1k-slate);
}

/* Help topic selector */

.search.well select {
    height: 42px;
    padding: 0 12px;
    border-radius: 8px;
}

/* ---------------------------------------------------------
   TICKET LIST
   --------------------------------------------------------- */

#ticketTable {
    width: 100% !important;

    background: #fff;
    border: 1px solid var(--1k-border);
    border-radius: 12px;

    overflow: hidden;

    box-shadow: var(--1k-shadow);
}

#ticketTable caption {
    padding: 15px 18px;

    background: #fafaf8;

    color: var(--1k-muted);
    text-align: left;
    font-size: 13px;

    border-bottom: 1px solid var(--1k-border);
}

#ticketTable thead th {
    height: 48px;
    padding: 0 15px;

    background: var(--1k-charcoal);
    border: 0;

    color: #fff;

    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .045em;
}

#ticketTable thead th a {
    color: #fff;
    text-decoration: none;
}

#ticketTable tbody td {
    padding: 15px;
    border-bottom: 1px solid #eee;
    background: #fff;

    color: var(--1k-text);
}

#ticketTable tbody tr:last-child td {
    border-bottom: 0;
}

#ticketTable tbody tr {
    transition:
        background .15s ease,
        box-shadow .15s ease;
}

#ticketTable tbody tr:hover td {
    background: #fafaf8;
}

/* Ticket number */

#ticketTable tbody td:first-child a {
    color: var(--1k-blue);
    font-weight: 650;
}

/* Subject */

#ticketTable tbody td a {
    text-decoration: none;
}

#ticketTable tbody td a:hover {
    color: var(--1k-slate);
}

/* ---------------------------------------------------------
   OPEN / CLOSED FILTER
   --------------------------------------------------------- */

.states {
    margin-top: 7px;
}

.states a.state {
    display: inline-block;

    padding: 5px 10px;

    border-radius: 20px;

    color: var(--1k-muted);
    text-decoration: none;

    transition: all .2s ease;
}

.states a.state:hover {
    background: rgba(74,122,170,.08);
    color: var(--1k-blue);
}

.states a.state.active {
    background: rgba(74,122,170,.12);
    color: var(--1k-blue);
    font-weight: 600;
}

/* ---------------------------------------------------------
   FORMS
   --------------------------------------------------------- */

#ticketForm {
    padding: 28px;

    background: #fff;
    border: 1px solid var(--1k-border);
    border-radius: 12px;

    box-shadow: var(--1k-shadow);
}

#ticketForm > table {
    width: 100% !important;
}

#ticketForm td {
    padding: 9px 8px;
}

#ticketForm td:first-child {
    color: var(--1k-charcoal);
    font-weight: 600;
}

/* Form section headings */

.form-header {
    padding: 14px 16px;

    background: #f7f6f2;

    border-left: 4px solid var(--1k-gold);
    border-radius: 6px;

    color: var(--1k-charcoal);
}

/* Select */

#ticketForm select {
    min-height: 42px;
    padding: 8px 12px;
}

/* Form controls */

#ticketForm input[type="text"],
#ticketForm input[type="email"],
#ticketForm input[type="tel"],
#ticketForm input[type="password"],
#ticketForm textarea {
    min-height: 42px;
    padding: 9px 12px;
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   FORM BUTTONS
   --------------------------------------------------------- */

#ticketForm .buttons {
    padding-top: 25px;
}

#ticketForm .buttons input {
    min-height: 44px;
    margin: 0 4px;
    padding: 0 22px;

    border: 1px solid transparent;
    border-radius: 8px;

    font-weight: 600;
    cursor: pointer;
}

#ticketForm .buttons input[type="submit"] {
    background: var(--1k-blue);
    color: #fff;
}

#ticketForm .buttons input[type="submit"]:hover {
    background: var(--1k-slate);
}

#ticketForm .buttons input[type="reset"],
#ticketForm .buttons input[name="cancel"] {
    background: #fff;
    border-color: var(--1k-border);
    color: var(--1k-charcoal);
}

#ticketForm .buttons input[type="reset"]:hover,
#ticketForm .buttons input[name="cancel"]:hover {
    background: #f4f3ef;
}

/* ---------------------------------------------------------
   MESSAGE BARS
   --------------------------------------------------------- */

#msg_error,
#msg_notice,
#msg_warning {
    margin-bottom: 25px;
    padding: 14px 18px;

    border-radius: 8px;
}

#msg_notice {
    background: rgba(74,174,157,.10);
    border-left: 4px solid var(--1k-teal);
}

#msg_warning {
    background: rgba(168,145,93,.12);
    border-left: 4px solid var(--1k-gold);
}

#msg_error {
    background: rgba(180,70,70,.08);
    border-left: 4px solid #a44;
}

/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

#footer {
    min-height: 130px;
    margin-top: 0;
    padding: 30px 32px;

    background: var(--1k-charcoal);
    border-top: 3px solid var(--1k-gold);

    color: rgba(255,255,255,.65);
    box-sizing: border-box;
}

#footer p {
    margin: 0 0 8px;
}

#footer a {
    color: rgba(255,255,255,.82);
    text-decoration: none;
}

#footer a:hover {
    color: var(--1k-gold);
}

#footer #poweredBy {
    font-size: 12px;
    opacity: .65;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    #header {
        min-height: 70px;
        padding: 0 16px;
    }

    #logo {
        height: 70px;
    }

    #logo img {
        max-width: 150px;
        max-height: 45px;
    }

    #header .flush-right {
        padding-top: 12px;
        font-size: 11px;
    }

    #nav {
        padding: 0 10px;
        overflow-x: auto;
    }

    #nav li a {
        padding: 14px 12px;
        white-space: nowrap;
    }

    #content {
        width: calc(100% - 24px);
        padding: 25px 0 40px;
    }

    #content h1 {
        font-size: 24px;
    }

    .search.well form {
        display: block;
    }

    .search.well input[type="text"] {
        width: 100%;
        min-width: 0;
        margin-bottom: 8px;
    }

    .search.well input[type="submit"] {
        width: 100%;
    }

    .search.well .pull-right {
        float: none;
        margin-top: 12px;
    }

    .search.well select {
        width: 100%;
    }

    #ticketTable {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    #ticketForm {
        padding: 16px;
    }

    #ticketForm .buttons input {
        display: block;
        width: 100%;
        margin: 8px 0;
    }

    #footer {
        padding: 25px 16px;
    }
}



/* =========================================================
   1KING SUPPORT CENTER - LANDING PAGE
   ========================================================= */

#oneking-home {
    width: 100%;
    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.oneking-hero {
    position: relative;
    overflow: hidden;
    margin: -30px -30px 0;
    padding: 72px 30px 82px;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(168, 145, 93, 0.18),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #2E2E2D 0%,
            #343433 55%,
            #486D78 100%
        );
    color: #fff;
}

.oneking-hero:after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -160px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(168, 145, 93, 0.22);
    border-radius: 50%;
}

.oneking-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
}

.oneking-hero-copy {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.oneking-eyebrow,
.oneking-section-eyebrow,
.oneking-cta-label {
    color: #A8915D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.oneking-hero h1 {
    margin: 12px 0 14px;
    color: #fff;
    font-size: 42px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -1px;
}

.oneking-hero-copy p {
    max-width: 650px;
    margin: 0 auto;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   SEARCH
   --------------------------------------------------------- */

.oneking-search {
    max-width: 760px;
    margin: 34px auto 0;
}

.oneking-search-box {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 7px;
    background: #fff;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 12px;
    box-shadow: 0 12px 35px rgba(0,0,0,.20);
}

.oneking-search-icon {
    width: 52px;
    text-align: center;
    color: #807152;
    font-size: 20px;
}

.oneking-search-box input {
    flex: 1;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0 12px;
    border: 0 !important;
    outline: none;
    box-shadow: none !important;
    color: #2E2E2D;
    background: transparent;
    font-size: 16px;
}

.oneking-search-box input::placeholder {
    color: #999;
}

.oneking-search-box button {
    height: 50px;
    padding: 0 24px;
    border: 0;
    border-radius: 8px;
    background: #A8915D;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s ease;
}

.oneking-search-box button:hover {
    background: #807152;
    transform: translateY(-1px);
}


/* ---------------------------------------------------------
   QUICK ACTIONS
   --------------------------------------------------------- */

.oneking-actions {
    position: relative;
    margin-top: -34px;
    padding: 0 20px;
    z-index: 5;
}

.oneking-action-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1100px;
    margin: 0 auto;
}

.oneking-action {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 125px;
    padding: 24px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #E4E3DF;
    border-radius: 12px;
    color: #2E2E2D;
    text-decoration: none !important;
    box-shadow: 0 5px 20px rgba(46,46,45,.08);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.oneking-action:hover {
    color: #2E2E2D;
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(46,46,45,.13);
}

.oneking-action:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
}

.oneking-action-gold:before {
    background: #A8915D;
}

.oneking-action-blue:before {
    background: #4A7AAA;
}

.oneking-action-teal:before {
    background: #4AAE9D;
}

.oneking-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    margin-right: 17px;
    border-radius: 10px;
    background: #F4F3F0;
    color: #A8915D;
    font-size: 25px;
    font-weight: 700;
}

.oneking-action-blue .oneking-action-icon {
    color: #4A7AAA;
}

.oneking-action-teal .oneking-action-icon {
    color: #4AAE9D;
}

.oneking-action-content {
    flex: 1;
}

.oneking-action h3 {
    margin: 0 0 5px;
    color: #2E2E2D;
    font-size: 16px;
    font-weight: 700;
}

.oneking-action p {
    margin: 0;
    color: #777;
    font-size: 13px;
    line-height: 1.5;
}

.oneking-action-arrow {
    margin-left: 12px;
    color: #A8915D;
    font-size: 20px;
    transition: transform .2s ease;
}

.oneking-action:hover .oneking-action-arrow {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   LANDING PAGE CONTENT
   --------------------------------------------------------- */

.oneking-content-section {
    max-width: 1100px;
    margin: 45px auto 0;
    padding: 0 20px;
}

.oneking-content-card {
    padding: 30px;
    background: #fff;
    border: 1px solid #E4E3DF;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(46,46,45,.05);
}


/* ---------------------------------------------------------
   KNOWLEDGE BASE
   --------------------------------------------------------- */

.oneking-knowledge {
    max-width: 1100px;
    margin: 55px auto 0;
    padding: 0 20px;
}

.oneking-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 22px;
}

.oneking-section-heading h2 {
    margin: 7px 0 5px;
    color: #2E2E2D;
    font-size: 28px;
}

.oneking-section-heading p {
    margin: 0;
    color: #777;
    font-size: 14px;
}

.oneking-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4A7AAA !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.oneking-view-all span {
    transition: transform .2s ease;
}

.oneking-view-all:hover span {
    transform: translateX(4px);
}

.oneking-category-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.oneking-category {
    background: #fff;
    border: 1px solid #E4E3DF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(46,46,45,.05);
}

.oneking-category-header {
    display: flex;
    align-items: center;
    padding: 20px 22px;
    background: #F7F6F3;
    border-bottom: 1px solid #E4E3DF;
}

.oneking-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-right: 14px;
    border-radius: 9px;
    background: #486D78;
    color: #fff;
    font-size: 18px;
}

.oneking-category h3 {
    margin: 0;
    color: #2E2E2D;
    font-size: 16px;
}

.oneking-articles {
    padding: 5px 20px 10px;
}

.oneking-article {
    position: relative;
    display: block;
    padding: 17px 30px 17px 0;
    border-bottom: 1px solid #ECEBE7;
    text-decoration: none !important;
}

.oneking-article:last-child {
    border-bottom: 0;
}

.oneking-article-title {
    margin-bottom: 5px;
    color: #2E2E2D;
    font-size: 14px;
    font-weight: 700;
}

.oneking-article:hover .oneking-article-title {
    color: #4A7AAA;
}

.oneking-article-teaser {
    color: #858585;
    font-size: 12px;
    line-height: 1.5;
}

.oneking-article-arrow {
    position: absolute;
    top: 20px;
    right: 0;
    color: #A8915D;
    transition: transform .2s ease;
}

.oneking-article:hover .oneking-article-arrow {
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   FINAL CTA
   --------------------------------------------------------- */

.oneking-support-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    max-width: 1100px;
    margin: 55px auto 40px;
    padding: 32px 35px;
    background:
        linear-gradient(
            135deg,
            #2E2E2D,
            #486D78
        );
    border-radius: 14px;
    color: #fff;
}

.oneking-support-cta h2 {
    margin: 6px 0 5px;
    color: #fff;
    font-size: 23px;
}

.oneking-support-cta p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
}

.oneking-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 13px 20px;
    border-radius: 8px;
    background: #A8915D;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: .2s ease;
}

.oneking-cta-button:hover {
    background: #807152;
    transform: translateY(-2px);
}

.oneking-cta-button span {
    font-size: 17px;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .oneking-action-grid {
        grid-template-columns: 1fr;
    }

    .oneking-category-grid {
        grid-template-columns: 1fr;
    }

    .oneking-hero h1 {
        font-size: 34px;
    }

    .oneking-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .oneking-support-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .oneking-cta-button {
        width: 100%;
        justify-content: center;
    }
}


@media (max-width: 600px) {

    .oneking-hero {
        margin: -20px -15px 0;
        padding: 55px 20px 70px;
    }

    .oneking-hero h1 {
        font-size: 29px;
    }

    .oneking-hero-copy p {
        font-size: 15px;
    }

    .oneking-search-box {
        min-height: auto;
        flex-wrap: wrap;
        padding: 7px;
    }

    .oneking-search-icon {
        width: 42px;
    }

    .oneking-search-box input {
        width: calc(100% - 42px);
        flex: 1;
    }

    .oneking-search-box button {
        width: 100%;
        margin-top: 6px;
    }

    .oneking-actions {
        padding: 0 10px;
    }

    .oneking-action {
        min-height: 105px;
        padding: 18px;
    }

    .oneking-action-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }

    .oneking-content-section,
    .oneking-knowledge {
        padding: 0 10px;
    }

    .oneking-content-card {
        padding: 20px;
    }

    .oneking-support-cta {
        margin-left: 10px;
        margin-right: 10px;
        padding: 26px 22px;
    }

}

/* =========================================================
   1KING CLIENT TICKETS
   ========================================================= */

#ticketTable {
    width: 100% !important;
    max-width: 1100px;
    margin: 18px auto 40px;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid #E4E3DF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(46,46,45,.05);
}


/* ---------------------------------------------------------
   SEARCH / FILTER BAR
   --------------------------------------------------------- */

.search.well {
    max-width: 1100px;
    margin: 0 auto 24px;
    padding: 18px 20px !important;
    background: #fff !important;
    border: 1px solid #E4E3DF !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 15px rgba(46,46,45,.05);
}

#ticketSearchForm {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

#ticketSearchForm input[type="text"] {
    flex: 1;
    min-width: 180px;
    height: 42px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #D8D7D2 !important;
    border-radius: 7px;
    background: #FAFAF8;
    color: #2E2E2D;
    box-shadow: none !important;
    font-size: 14px;
}

#ticketSearchForm input[type="text"]:focus {
    border-color: #A8915D !important;
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(168,145,93,.12) !important;
}

#ticketSearchForm input[type="submit"] {
    height: 42px;
    padding: 0 20px;
    border: 0 !important;
    border-radius: 7px;
    background: #2E2E2D;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

#ticketSearchForm input[type="submit"]:hover {
    background: #486D78;
}

#ticketSearchForm .pull-right {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #777;
    font-size: 13px;
}

#ticketSearchForm select {
    height: 42px;
    min-width: 190px;
    padding: 0 30px 0 12px;
    border: 1px solid #D8D7D2;
    border-radius: 7px;
    background: #FAFAF8;
    color: #2E2E2D;
}

#ticketSearchForm select:focus {
    border-color: #A8915D;
    outline: none;
}


/* Clear filter */

.search.well > .flush-left > div {
    margin-top: 12px !important;
}

.search.well a {
    color: #807152 !important;
    font-size: 12px;
    text-decoration: none;
}

.search.well a:hover {
    color: #A8915D !important;
}


/* ---------------------------------------------------------
   TICKET PAGE HEADING
   --------------------------------------------------------- */

#content > h1 {
    max-width: 1100px;
    margin: 25px auto 12px !important;
    padding: 0 4px;
    color: #2E2E2D;
    font-size: 27px;
    line-height: 1.3;
    border: 0;
}

#content > h1 > a {
    color: #2E2E2D !important;
    text-decoration: none !important;
}

#content > h1 .refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 7px;
    border-radius: 7px;
    background: #F2F1ED;
    color: #807152;
    font-size: 14px;
}

#content > h1 .refresh:hover {
    background: #A8915D;
    color: #fff;
}


/* ---------------------------------------------------------
   OPEN / CLOSED FILTER
   --------------------------------------------------------- */

.states {
    margin-top: 5px;
    padding: 5px;
    border-radius: 8px;
    background: #F4F3F0;
}

.states small {
    display: flex;
    align-items: center;
    gap: 3px;
}

.states .icon-file-alt,
.states .icon-file-text {
    color: #807152;
}

.states a.state {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 6px;
    color: #686866 !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

.states a.state:hover {
    background: #fff;
    color: #2E2E2D !important;
}

.states a.state.active {
    background: #2E2E2D;
    color: #fff !important;
}


/* ---------------------------------------------------------
   TABLE CAPTION
   --------------------------------------------------------- */

#ticketTable caption {
    padding: 14px 20px;
    border-bottom: 1px solid #E8E7E3;
    background: #F8F7F4;
    color: #777;
    font-size: 12px;
    text-align: left;
}


/* ---------------------------------------------------------
   TABLE HEADER
   --------------------------------------------------------- */

#ticketTable thead th {
    padding: 14px 15px;
    border-bottom: 1px solid #E4E3DF;
    background: #F7F6F3;
    color: #686866;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .4px;
    text-align: left;
    text-transform: uppercase;
}

#ticketTable thead th:first-child {
    padding-left: 20px;
}

#ticketTable thead th a {
    color: #686866 !important;
    text-decoration: none !important;
}

#ticketTable thead th a:hover {
    color: #A8915D !important;
}

#ticketTable thead th i {
    color: #A8915D;
    font-size: 10px;
}


/* ---------------------------------------------------------
   TABLE ROWS
   --------------------------------------------------------- */

#ticketTable tbody tr {
    background: #fff;
    transition: background .15s ease;
}

#ticketTable tbody tr:hover {
    background: #FAFAF8;
}

#ticketTable tbody td {
    padding: 17px 15px;
    border-bottom: 1px solid #ECEBE7;
    color: #686866;
    font-size: 13px;
    vertical-align: middle;
}

#ticketTable tbody tr:last-child td {
    border-bottom: 0;
}

#ticketTable tbody td:first-child {
    padding-left: 20px;
}


/* Ticket number */

#ticketTable tbody td:first-child a {
    color: #4A7AAA !important;
    font-weight: 700;
    text-decoration: none !important;
}

#ticketTable tbody td:first-child a:hover {
    color: #A8915D !important;
}


/* Subject */

#ticketTable tbody td .link {
    color: #2E2E2D;
    font-weight: 600;
    cursor: pointer;
}

#ticketTable tbody td .link:hover {
    color: #4A7AAA;
}

#ticketTable tbody td .link i {
    color: #807152;
}


/* ---------------------------------------------------------
   STATUS CELLS
   --------------------------------------------------------- */

/*
 * osTicket returns the localized status name here.
 * These rules style common default status names without
 * changing the underlying PHP.
 */

#ticketTable tbody td:nth-child(3) {
    font-size: 12px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   EMPTY STATE
   --------------------------------------------------------- */

#ticketTable tbody:empty:after {
    content: "No tickets found.";
    display: block;
    padding: 45px;
    color: #777;
    text-align: center;
}


/* ---------------------------------------------------------
   PAGINATION
   --------------------------------------------------------- */

#content .pagination,
#content .pagination a {
    color: #4A7AAA;
}

#content .pagination a {
    display: inline-block;
    margin: 2px;
    padding: 7px 11px;
    border: 1px solid #E4E3DF;
    border-radius: 6px;
    background: #fff;
    text-decoration: none;
}

#content .pagination a:hover {
    border-color: #A8915D;
    background: #F7F6F3;
}

#content .pagination .current {
    display: inline-block;
    margin: 2px;
    padding: 7px 11px;
    border-radius: 6px;
    background: #2E2E2D;
    color: #fff;
}


/* ---------------------------------------------------------
   TICKET LIST MOBILE
   --------------------------------------------------------- */

@media (max-width: 800px) {

    #ticketSearchForm {
        flex-wrap: wrap;
    }

    #ticketSearchForm input[type="text"] {
        flex: 1 1 100%;
    }

    #ticketSearchForm input[type="submit"] {
        flex: 0 0 auto;
    }

    #ticketSearchForm .pull-right {
        flex: 1 1 100%;
    }

    #ticketSearchForm select {
        flex: 1;
        min-width: 0;
    }

    #ticketTable {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    #ticketTable thead,
    #ticketTable tbody,
    #ticketTable tr {
        min-width: 760px;
    }

    #content > h1 {
        font-size: 23px;
    }

    .states {
        float: none !important;
        display: inline-block;
        margin-top: 10px;
    }
}


/* =========================================================
   1KING TICKET VIEW
   ========================================================= */

#ticketInfo {
    width: 100% !important;
    max-width: 1100px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0;
}


/* ---------------------------------------------------------
   TICKET HEADER
   --------------------------------------------------------- */

#ticketInfo > tbody > tr:first-child > td {
    padding: 10px 0 24px;
}

#ticketInfo h1 {
    position: relative;
    margin: 0;
    padding: 0 0 18px;
    border-bottom: 1px solid #E4E3DF;
    color: #2E2E2D;
    font-size: 27px;
    line-height: 1.35;
}

#ticketInfo h1 b {
    color: #2E2E2D;
}

#ticketInfo h1 small {
    display: inline-block;
    margin-left: 8px;
    padding: 4px 8px;
    border-radius: 5px;
    background: #F1F0EC;
    color: #807152;
    font-size: 11px;
    font-weight: 700;
    vertical-align: middle;
}

#ticketInfo h1 > a {
    color: #807152 !important;
    text-decoration: none !important;
}

#ticketInfo h1 .refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-right: 5px;
    border-radius: 6px;
    background: #F4F3F0;
    font-size: 13px;
}

#ticketInfo h1 .refresh:hover {
    background: #A8915D;
    color: #fff;
}


/* ---------------------------------------------------------
   PRINT / EDIT
   --------------------------------------------------------- */

#ticketInfo h1 .pull-right {
    display: flex;
    gap: 7px;
}

#ticketInfo .action-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid #E0DFDB;
    border-radius: 6px;
    background: #fff;
    color: #686866 !important;
    font-size: 12px;
    text-decoration: none !important;
}

#ticketInfo .action-button:hover {
    border-color: #A8915D;
    background: #F8F7F4;
    color: #2E2E2D !important;
}


/* ---------------------------------------------------------
   INFORMATION CARDS
   --------------------------------------------------------- */

#ticketInfo > tbody > tr:nth-child(2) > td {
    padding: 0 7px 20px 0;
    vertical-align: top;
}

#ticketInfo > tbody > tr:nth-child(2) > td + td {
    padding: 0 0 20px 7px;
}

#ticketInfo .infoTable {
    width: 100%;
    overflow: hidden;
    border: 1px solid #E4E3DF;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(46,46,45,.04);
}

#ticketInfo .infoTable thead td.headline {
    padding: 13px 16px;
    background: #F7F6F3;
    border-bottom: 1px solid #E4E3DF;
    color: #2E2E2D;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

#ticketInfo .infoTable tr:not(:first-child) th,
#ticketInfo .infoTable tr:not(:first-child) td {
    padding: 11px 15px;
    border-bottom: 1px solid #ECEBE7;
    font-size: 13px;
}

#ticketInfo .infoTable tr:last-child th,
#ticketInfo .infoTable tr:last-child td {
    border-bottom: 0;
}

#ticketInfo .infoTable th {
    width: 110px;
    color: #777;
    font-weight: 600;
    text-align: left;
}

#ticketInfo .infoTable td {
    color: #2E2E2D;
}


/* ---------------------------------------------------------
   CUSTOM DATA
   --------------------------------------------------------- */

#ticketInfo .custom-data {
    width: 100%;
    margin: 0 0 20px;
    border: 1px solid #E4E3DF;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

#ticketInfo .custom-data .headline {
    padding: 13px 16px;
    background: #F7F6F3;
    color: #2E2E2D;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

#ticketInfo .custom-data th,
#ticketInfo .custom-data td {
    padding: 10px 15px;
    border-bottom: 1px solid #ECEBE7;
    font-size: 13px;
}

#ticketInfo .custom-data th {
    width: 180px;
    color: #777;
    text-align: left;
}


/* ---------------------------------------------------------
   REPLY SECTION
   --------------------------------------------------------- */

#reply {
    max-width: 1100px;
    margin: 35px auto 40px;
    padding: 26px;
    border: 1px solid #E4E3DF;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 15px rgba(46,46,45,.05);
}

#reply h2 {
    margin: 0 0 8px;
    color: #2E2E2D;
    font-size: 20px;
}

#reply p {
    color: #777;
    font-size: 13px;
}

#reply textarea {
    width: 100%;
    min-height: 190px;
    box-sizing: border-box;
    margin-top: 8px;
    padding: 14px;
    border: 1px solid #D8D7D2 !important;
    border-radius: 8px;
    background: #FAFAF8;
    color: #2E2E2D;
    font-size: 14px;
    line-height: 1.6;
    resize: vertical;
}

#reply textarea:focus {
    border-color: #A8915D !important;
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(168,145,93,.12) !important;
}

#reply input[type="submit"] {
    min-width: 120px;
    padding: 11px 20px;
    border: 0;
    border-radius: 7px;
    background: #2E2E2D;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

#reply input[type="submit"]:hover {
    background: #486D78;
}

#reply input[type="reset"],
#reply input[type="button"] {
    padding: 10px 17px;
    border: 1px solid #D8D7D2;
    border-radius: 7px;
    background: #fff;
    color: #686866;
    cursor: pointer;
}

#reply input[type="reset"]:hover,
#reply input[type="button"]:hover {
    background: #F4F3F0;
}


/* ---------------------------------------------------------
   TICKET THREAD
   --------------------------------------------------------- */

#ticketThread {
    max-width: 1100px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   WARNING / NOTICE
   --------------------------------------------------------- */

#msg_error,
#msg_notice,
#msg_warning {
    max-width: 1100px;
    margin: 15px auto;
    border-radius: 8px !important;
}

.warning-banner {
    margin: 15px 0;
    padding: 12px 15px;
    border-left: 4px solid #A8915D;
    border-radius: 6px;
    background: #F7F4EC;
    color: #686866;
    font-size: 13px;
}


/* ---------------------------------------------------------
   MOBILE TICKET VIEW
   --------------------------------------------------------- */

@media (max-width: 700px) {

    #ticketInfo h1 {
        font-size: 21px;
    }

    #ticketInfo h1 .pull-right {
        float: none !important;
        margin-top: 14px;
    }

    #ticketInfo > tbody > tr:nth-child(2) {
        display: block;
    }

    #ticketInfo > tbody > tr:nth-child(2) > td,
    #ticketInfo > tbody > tr:nth-child(2) > td + td {
        display: block;
        width: 100%;
        padding: 0 0 12px;
    }

    #reply {
        padding: 18px;
        margin-left: 10px;
        margin-right: 10px;
    }

}


/* =========================================================
   1KING SUPPORT CENTER
   OPEN NEW TICKET
   ========================================================= */

#oneking-open-ticket {
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px 0 40px;
}


/* ---------------------------------------------------------
   PAGE HEADER
   --------------------------------------------------------- */

.oneking-page-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}

.oneking-page-header-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: var(--1k-charcoal);
    color: #fff;

    font-size: 23px;
}

.oneking-page-header h1 {
    margin: 0 0 5px;
    color: var(--1k-charcoal);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

.oneking-page-header p {
    margin: 0;
    color: var(--1k-muted);
    font-size: 14px;
}


/* ---------------------------------------------------------
   INFORMATION BANNER
   --------------------------------------------------------- */

.oneking-form-intro {
    display: flex;
    align-items: flex-start;
    gap: 13px;

    margin-bottom: 22px;
    padding: 16px 18px;

    border: 1px solid rgba(168, 145, 93, .28);
    border-left: 4px solid var(--1k-gold);

    border-radius: var(--1k-radius-sm);

    background: #faf9f5;
}

.oneking-form-intro-icon {
    color: var(--1k-gold);
    font-size: 18px;
    padding-top: 2px;
}

.oneking-form-intro strong {
    display: block;
    color: var(--1k-charcoal);
    margin-bottom: 3px;
}

.oneking-form-intro p {
    margin: 0;
    color: var(--1k-muted);
    font-size: 13px;
    line-height: 1.5;
}


/* ---------------------------------------------------------
   FORM SECTIONS
   --------------------------------------------------------- */

.oneking-form-section {
    margin-bottom: 22px;

    background: var(--1k-card);

    border: 1px solid var(--1k-border);
    border-radius: var(--1k-radius);

    box-shadow: var(--1k-shadow);

    overflow: hidden;
}

.oneking-section-header {
    display: flex;
    align-items: center;
    gap: 13px;

    padding: 17px 20px;

    border-bottom: 1px solid var(--1k-border);

    background: #fafaf8;
}

.oneking-section-header > span {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(168, 145, 93, .12);
    color: var(--1k-gold);

    font-size: 16px;
}

.oneking-section-header h2 {
    margin: 0 0 3px;

    color: var(--1k-charcoal);

    font-size: 16px;
    font-weight: 700;
}

.oneking-section-header p {
    margin: 0;

    color: var(--1k-muted);

    font-size: 12px;
}

.oneking-section-body {
    padding: 22px;
}


/* ---------------------------------------------------------
   LOGGED-IN CLIENT SUMMARY
   --------------------------------------------------------- */

.oneking-client-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.oneking-client-item {
    padding: 14px 16px;

    border: 1px solid var(--1k-border);
    border-radius: var(--1k-radius-sm);

    background: #fafaf9;
}

.oneking-client-label {
    display: block;

    margin-bottom: 5px;

    color: var(--1k-muted);

    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.oneking-client-value {
    display: block;

    color: var(--1k-charcoal);

    font-size: 14px;
    font-weight: 600;
}


/* ---------------------------------------------------------
   HELP TOPIC
   --------------------------------------------------------- */

.oneking-help-topic {
    max-width: 650px;
}

.oneking-help-topic label,
.oneking-captcha-input label {
    display: block;

    margin-bottom: 7px;

    color: var(--1k-charcoal);

    font-size: 13px;
    font-weight: 700;
}

.oneking-required {
    color: #b64b43;
    font-weight: 700;
}

.oneking-help-topic select {
    width: 100%;
    max-width: 650px;

    min-height: 44px;

    padding: 9px 13px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    background: #fff;

    color: var(--1k-charcoal);

    font-size: 14px;

    box-sizing: border-box;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.oneking-help-topic select:focus {
    border-color: var(--1k-gold);

    box-shadow:
        0 0 0 3px rgba(168, 145, 93, .14);

    outline: none;
}

.oneking-help-topic > .error,
.oneking-help-topic font.error {
    display: block;

    margin-top: 5px;

    color: #b64b43;

    font-size: 12px;
}


/* ---------------------------------------------------------
   DYNAMIC FORM
   --------------------------------------------------------- */

.oneking-dynamic-form {
    margin-top: 24px;
}

.oneking-dynamic-form > tr:first-child td {
    border-top: 1px solid var(--1k-border);
}

.oneking-dynamic-form table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.oneking-dynamic-form td {
    padding: 9px 8px;
    vertical-align: top;
}

.oneking-dynamic-form td:first-child {
    width: 190px;

    color: var(--1k-charcoal);

    font-size: 13px;
    font-weight: 600;
}

.oneking-dynamic-form input[type="text"],
.oneking-dynamic-form input[type="email"],
.oneking-dynamic-form input[type="tel"],
.oneking-dynamic-form input[type="number"],
.oneking-dynamic-form input[type="password"],
.oneking-dynamic-form select,
.oneking-dynamic-form textarea {
    box-sizing: border-box;

    width: 100%;

    padding: 10px 12px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    background: #fff;

    color: var(--1k-charcoal);

    font-size: 14px;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.oneking-dynamic-form input:focus,
.oneking-dynamic-form select:focus,
.oneking-dynamic-form textarea:focus {
    border-color: var(--1k-gold);

    box-shadow:
        0 0 0 3px rgba(168, 145, 93, .14);

    outline: none;
}

.oneking-dynamic-form textarea {
    min-height: 130px;
    resize: vertical;
}

.oneking-dynamic-form input[type="file"] {
    width: 100%;
    box-sizing: border-box;

    padding: 10px;

    border: 1px dashed #cfcfc9;
    border-radius: var(--1k-radius-sm);

    background: #fafaf8;

    color: var(--1k-muted);
}

.oneking-dynamic-form input[type="checkbox"],
.oneking-dynamic-form input[type="radio"] {
    accent-color: var(--1k-gold);
}

.oneking-dynamic-form .error {
    color: #b64b43;
    font-size: 12px;
}

.oneking-dynamic-form .required {
    color: #b64b43;
}


/* ---------------------------------------------------------
   RICH TEXT EDITOR
   --------------------------------------------------------- */

.oneking-dynamic-form .redactor-box,
.oneking-dynamic-form .redactor-editor {
    border-radius: var(--1k-radius-sm);
}

.oneking-dynamic-form .redactor-box {
    border-color: #d7d6d1;
    overflow: hidden;
}

.oneking-dynamic-form .redactor-box:focus-within {
    border-color: var(--1k-gold);

    box-shadow:
        0 0 0 3px rgba(168, 145, 93, .14);
}


/* ---------------------------------------------------------
   CAPTCHA
   --------------------------------------------------------- */

.oneking-captcha {
    display: flex;
    align-items: flex-start;
    gap: 24px;

    max-width: 700px;
}

.oneking-captcha-image {
    padding: 8px;

    border: 1px solid var(--1k-border);
    border-radius: var(--1k-radius-sm);

    background: #fafaf8;
}

.oneking-captcha-image img {
    display: block;
}

.oneking-captcha-input {
    flex: 1;
}

.oneking-captcha-input input {
    display: block;

    width: 160px;

    box-sizing: border-box;

    padding: 10px 12px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    font-size: 15px;
}

.oneking-captcha-input input:focus {
    border-color: var(--1k-gold);

    box-shadow:
        0 0 0 3px rgba(168, 145, 93, .14);

    outline: none;
}

.oneking-captcha-input small {
    display: block;

    margin-top: 6px;

    color: var(--1k-muted);

    font-size: 12px;
}

.oneking-captcha-input .error {
    display: block;

    margin-top: 5px;

    color: #b64b43;

    font-size: 12px;
}


/* ---------------------------------------------------------
   ACTION BUTTONS
   --------------------------------------------------------- */

.oneking-form-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    padding: 8px 0 10px;
}

.oneking-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 42px;

    padding: 9px 18px;

    border: 1px solid transparent;
    border-radius: var(--1k-radius-sm);

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.oneking-btn:hover {
    transform: translateY(-1px);
}

.oneking-btn-primary {
    background: var(--1k-charcoal);
    border-color: var(--1k-charcoal);
    color: #fff;
}

.oneking-btn-primary:hover {
    background: #1f1f1e;

    box-shadow:
        0 5px 14px rgba(46, 46, 45, .18);
}

.oneking-btn-secondary {
    background: #fff;
    border-color: var(--1k-border);
    color: var(--1k-charcoal);
}

.oneking-btn-secondary:hover {
    border-color: var(--1k-gold);
    color: var(--1k-gold);
}

.oneking-btn-cancel {
    background: transparent;
    border-color: transparent;
    color: var(--1k-muted);
}

.oneking-btn-cancel:hover {
    color: #b64b43;
}


/* ---------------------------------------------------------
   FORM ERROR STATES
   --------------------------------------------------------- */

#ticketForm .error {
    color: #b64b43;
}

#ticketForm input.error,
#ticketForm select.error,
#ticketForm textarea.error {
    border-color: #c96b62;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    #oneking-open-ticket {
        padding: 5px 0 30px;
    }

    .oneking-page-header {
        align-items: flex-start;
    }

    .oneking-page-header-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 11px;
        font-size: 19px;
    }

    .oneking-page-header h1 {
        font-size: 22px;
    }

    .oneking-section-body {
        padding: 16px;
    }

    .oneking-section-header {
        padding: 14px 16px;
    }

    .oneking-client-summary {
        grid-template-columns: 1fr;
    }

    .oneking-dynamic-form td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    .oneking-dynamic-form td:first-child {
        padding-bottom: 3px;
    }

    .oneking-dynamic-form td + td {
        padding-top: 3px;
    }

    .oneking-captcha {
        flex-direction: column;
        gap: 14px;
    }

    .oneking-form-actions {
        flex-wrap: wrap;
    }

    .oneking-btn {
        flex: 1 1 auto;
    }
}



/* =========================================================
   1KING OPEN TICKET - WIDE TICKET DETAILS
   ========================================================= */

#oneking-open-ticket {
    max-width: 1180px;
    width: 100%;
    box-sizing: border-box;
}


/* Make the support-request section use the full available width */

#oneking-open-ticket .oneking-form-section {
    width: 100%;
    box-sizing: border-box;
}

#oneking-open-ticket .oneking-section-body {
    width: 100%;
    box-sizing: border-box;
}


/* Help Topic */

#oneking-open-ticket .oneking-help-topic {
    width: 100%;
    max-width: none;
}

#oneking-open-ticket .oneking-help-topic select {
    width: 100%;
    max-width: none;
}


/* Dynamic ticket fields */

#oneking-open-ticket .oneking-dynamic-form {
    width: 100%;
    box-sizing: border-box;
}

#oneking-open-ticket .oneking-dynamic-form > tr,
#oneking-open-ticket .oneking-dynamic-form > tr > td {
    width: 100%;
    box-sizing: border-box;
}

#oneking-open-ticket .oneking-dynamic-form table {
    width: 100%;
    table-layout: auto;
}


/* Give the field label a fixed but smaller column */

#oneking-open-ticket .oneking-dynamic-form td:first-child {
    width: 210px;
    min-width: 210px;
    box-sizing: border-box;
}


/* The actual field gets all remaining space */

#oneking-open-ticket .oneking-dynamic-form td:last-child {
    width: auto;
}


/* Inputs should fill their available column */

#oneking-open-ticket .oneking-dynamic-form input[type="text"],
#oneking-open-ticket .oneking-dynamic-form input[type="email"],
#oneking-open-ticket .oneking-dynamic-form input[type="tel"],
#oneking-open-ticket .oneking-dynamic-form input[type="number"],
#oneking-open-ticket .oneking-dynamic-form input[type="password"],
#oneking-open-ticket .oneking-dynamic-form select,
#oneking-open-ticket .oneking-dynamic-form textarea {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}


/* Rich text editor should also use the complete width */

#oneking-open-ticket .oneking-dynamic-form .redactor-box,
#oneking-open-ticket .oneking-dynamic-form .redactor-editor {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}


/* Make the message editor comfortably tall */

#oneking-open-ticket .oneking-dynamic-form textarea {
    min-height: 180px;
}


/* File upload */

#oneking-open-ticket .oneking-dynamic-form input[type="file"] {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}


/* Mobile */

@media (max-width: 700px) {

    #oneking-open-ticket {
        width: 100%;
        max-width: none;
    }

    #oneking-open-ticket .oneking-dynamic-form td:first-child {
        width: 100%;
        min-width: 0;
    }

    #oneking-open-ticket .oneking-dynamic-form td:last-child {
        width: 100%;
    }
}



/* =========================================================
   1KING CUSTOM FORM FIELDS - FULL WIDTH
   ========================================================= */

#oneking-open-ticket .oneking-dynamic-form input[type="text"],
#oneking-open-ticket .oneking-dynamic-form input[type="email"],
#oneking-open-ticket .oneking-dynamic-form input[type="tel"],
#oneking-open-ticket .oneking-dynamic-form input[type="number"],
#oneking-open-ticket .oneking-dynamic-form input[type="password"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}


/* Custom textareas */

#oneking-open-ticket .oneking-dynamic-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}


/* Custom select fields */

#oneking-open-ticket .oneking-dynamic-form select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}


/* Keep file upload fields wide */

#oneking-open-ticket .oneking-dynamic-form input[type="file"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}


/* =========================================================
   1KING CUSTOM DYNAMIC FORM FIELDS
   FULL-WIDTH TEXT INPUTS
   ========================================================= */

/*
 * osTicket custom text fields use HTML size="16".
 * Override that visual size while preserving maxlength.
 */

#dynamic-form input[type="text"],
#dynamic-form input[type="email"],
#dynamic-form input[type="tel"],
#dynamic-form input[type="number"],
#dynamic-form input[type="url"],
#dynamic-form input[type="password"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}


/* Make the labels themselves use the full available width */

#dynamic-form tr,
#dynamic-form td,
#dynamic-form label {
    box-sizing: border-box;
}

#dynamic-form td[colspan="2"] {
    width: 100% !important;
}


/* Make the dynamic form itself full width */

#dynamic-form {
    width: 100% !important;
    max-width: none !important;
}


/* Redactor message editor */

#dynamic-form .-redactor-container,
#dynamic-form .redactor-box,
#dynamic-form .redactor-styles {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}


/* Keep the message editor comfortably large */

#dynamic-form .redactor-styles {
    min-height: 180px !important;
}


/* =========================================================
   1KING OPEN TICKET - FORM POLISH
   ========================================================= */

/* Dynamic form as a clean full-width section */

#oneking-open-ticket .oneking-dynamic-form {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

#oneking-open-ticket .oneking-dynamic-form > tbody > tr > td {
    padding: 14px 0;
    border: 0;
}

/* Custom form title */

#oneking-open-ticket .oneking-dynamic-form .form-header {
    margin: 4px 0 10px !important;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--1k-border);
}

#oneking-open-ticket .oneking-dynamic-form .form-header h3 {
    margin: 0 0 5px;

    color: var(--1k-charcoal);

    font-size: 17px;
    font-weight: 700;
}

#oneking-open-ticket .oneking-dynamic-form .form-header div {
    color: var(--1k-muted);
    font-size: 13px;
    line-height: 1.5;
}

/* Field labels */

#oneking-open-ticket .oneking-dynamic-form label {
    display: block;

    color: var(--1k-charcoal);

    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

#oneking-open-ticket .oneking-dynamic-form label > br {
    display: none;
}

/* Required fields */

#oneking-open-ticket .oneking-dynamic-form .required {
    color: var(--1k-charcoal);
}

#oneking-open-ticket .oneking-dynamic-form .required .error,
#oneking-open-ticket .oneking-dynamic-form label .error {
    color: #b64b43;
}

/* Field hints */

#oneking-open-ticket .oneking-dynamic-form label em {
    display: block !important;

    margin: 4px 0 7px;

    color: var(--1k-muted) !important;

    font-size: 12px;
    font-style: normal;
}

/* Text inputs */

#oneking-open-ticket .oneking-dynamic-form input[type="text"],
#oneking-open-ticket .oneking-dynamic-form input[type="email"],
#oneking-open-ticket .oneking-dynamic-form input[type="tel"],
#oneking-open-ticket .oneking-dynamic-form input[type="number"],
#oneking-open-ticket .oneking-dynamic-form input[type="url"],
#oneking-open-ticket .oneking-dynamic-form input[type="password"] {
    display: block;

    width: 100% !important;
    max-width: none !important;

    min-height: 44px;

    margin-top: 7px;

    padding: 10px 13px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    background: #fff;

    color: var(--1k-charcoal);

    font-size: 14px;

    box-sizing: border-box;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

#oneking-open-ticket .oneking-dynamic-form input[type="text"]:hover,
#oneking-open-ticket .oneking-dynamic-form input[type="email"]:hover,
#oneking-open-ticket .oneking-dynamic-form input[type="tel"]:hover,
#oneking-open-ticket .oneking-dynamic-form input[type="number"]:hover {
    border-color: #bdbcb7;
}

#oneking-open-ticket .oneking-dynamic-form input[type="text"]:focus,
#oneking-open-ticket .oneking-dynamic-form input[type="email"]:focus,
#oneking-open-ticket .oneking-dynamic-form input[type="tel"]:focus,
#oneking-open-ticket .oneking-dynamic-form input[type="number"]:focus,
#oneking-open-ticket .oneking-dynamic-form input[type="url"]:focus,
#oneking-open-ticket .oneking-dynamic-form input[type="password"]:focus {
    border-color: var(--1k-gold);

    box-shadow:
        0 0 0 3px rgba(168, 145, 93, .13);

    outline: none;
}

/* Selects */

#oneking-open-ticket .oneking-dynamic-form select {
    width: 100% !important;
    max-width: none !important;

    min-height: 44px;

    margin-top: 7px;

    padding: 9px 12px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    background: #fff;

    color: var(--1k-charcoal);

    font-size: 14px;

    box-sizing: border-box;
}

/* Textareas */

#oneking-open-ticket .oneking-dynamic-form textarea {
    width: 100% !important;
    max-width: none !important;

    min-height: 180px;

    margin-top: 7px;

    padding: 11px 13px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    box-sizing: border-box;

    resize: vertical;
}

/* Redactor */

#oneking-open-ticket .oneking-dynamic-form .-redactor-container {
    display: block !important;

    width: 100% !important;

    margin-top: 7px;
}

#oneking-open-ticket .oneking-dynamic-form .redactor-box {
    width: 100% !important;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    overflow: hidden;

    box-sizing: border-box;

    box-shadow: none;
}

#oneking-open-ticket .oneking-dynamic-form .redactor-box:focus-within {
    border-color: var(--1k-gold);

    box-shadow:
        0 0 0 3px rgba(168, 145, 93, .13);
}

#oneking-open-ticket .oneking-dynamic-form .redactor-toolbar-wrapper {
    border-bottom-color: var(--1k-border);
}

#oneking-open-ticket .oneking-dynamic-form .redactor-styles {
    min-height: 180px !important;

    padding: 13px 14px;

    font-size: 14px;
    line-height: 1.6;
}

/* File attachments */

#oneking-open-ticket .oneking-dynamic-form input[type="file"] {
    display: block;

    width: 100% !important;
    max-width: none !important;

    margin-top: 7px;

    padding: 11px;

    border: 1px dashed #c8c7c1;
    border-radius: var(--1k-radius-sm);

    background: #fafaf8;

    box-sizing: border-box;
}

/* Checkboxes / radio buttons */

#oneking-open-ticket .oneking-dynamic-form input[type="checkbox"],
#oneking-open-ticket .oneking-dynamic-form input[type="radio"] {
    width: auto !important;

    margin-right: 6px;

    accent-color: var(--1k-gold);
}

/* Validation errors */

#oneking-open-ticket .oneking-dynamic-form .error {
    margin-top: 5px;

    color: #b64b43;

    font-size: 12px;
}

/* Remove excessive old table spacing */

#oneking-open-ticket .oneking-dynamic-form hr {
    display: none;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    #oneking-open-ticket .oneking-dynamic-form > tbody > tr > td {
        padding: 11px 0;
    }

    #oneking-open-ticket .oneking-dynamic-form .redactor-styles {
        min-height: 150px !important;
    }

}

/* =========================================================
   1KING HOME - CONTRAST FIXES
   ========================================================= */

/* Hero text */

#oneking-home .oneking-hero h1,
#oneking-home .oneking-hero h2,
#oneking-home .oneking-hero .oneking-hero-title {
    color: #ffffff !important;
}

#oneking-home .oneking-hero p {
    color: rgba(255, 255, 255, 0.90) !important;
}

/* Gold eyebrow text */

#oneking-home .oneking-hero .eyebrow,
#oneking-home .oneking-hero .oneking-eyebrow {
    color: var(--1k-gold) !important;
}

/* CTA */

#oneking-home .oneking-support-cta h2,
#oneking-home .oneking-support-cta h3,
#oneking-home .oneking-support-cta p {
    color: #ffffff !important;
}

#oneking-home .oneking-support-cta .eyebrow,
#oneking-home .oneking-support-cta .oneking-eyebrow {
    color: var(--1k-gold) !important;
}


/* =========================================================
   1KING PAGE HEADER ICON
   ========================================================= */

#oneking-open-ticket .oneking-page-header {
    display: flex;
    align-items: center;
    gap: 16px;
}

#oneking-open-ticket .oneking-page-header .oneking-page-icon {
    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: var(--1k-charcoal);

    border: 1px solid rgba(168, 145, 93, .35);

    color: var(--1k-gold);

    font-size: 23px;

    box-shadow:
        0 4px 12px rgba(46, 46, 45, .12);
}

/* =========================================================
   1KING CLIENT NAVIGATION
   ========================================================= */

#nav a i,
#nav a .icon-home,
#nav a .icon-plus,
#nav a .icon-folder-open,
#nav a img {
    display: none !important;
}

#nav > ul > li > a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 0 18px;

    color: var(--1k-charcoal);

    font-size: 13px;
    font-weight: 500;

    text-decoration: none;
}

#nav > ul > li > a:hover {
    color: var(--1k-charcoal);
    background: rgba(168, 145, 93, .08);
}

#nav > ul > li.active > a,
#nav > ul > li > a.active {
    color: var(--1k-charcoal);

    background: #eef6fb;

    border-bottom: 3px solid var(--1k-gold);
}

/* =========================================================
   1KING OPEN TICKET - SPACING
   ========================================================= */

#oneking-open-ticket {
    padding-top: 4px;
    padding-bottom: 28px;
}

#oneking-open-ticket .oneking-page-header {
    margin-bottom: 20px;
}

#oneking-open-ticket .oneking-form-intro {
    margin-bottom: 18px;
}

#oneking-open-ticket .oneking-ticket-form {
    padding-bottom: 18px;
}

#oneking-open-ticket .oneking-form-section {
    margin-bottom: 16px;
}

#oneking-open-ticket .oneking-section-header {
    padding: 14px 18px;
}

#oneking-open-ticket .oneking-section-body {
    padding: 18px 20px;
}


/* =========================================================
   1KING - REMOVE LEGACY OSTICKET NAVIGATION ICONS
   ========================================================= */

/* Remove the old osTicket icons from client navigation */
#nav li a::before,
#nav li a::after {
    display: none !important;
    content: none !important;
}

/* Remove icon elements if present */
#nav li a i,
#nav li a img,
#nav li a svg,
#nav li a .icon {
    display: none !important;
}

/* Clean navigation link */
#nav li a {
    background-image: none !important;
}

/* =========================================================
   1KING - CLEAN CLIENT NAVIGATION
   ========================================================= */

#nav {
    background-image: none !important;
}

#nav li {
    background-image: none !important;
}

#nav li a {
    background-image: none !important;

    padding-left: 18px !important;
    padding-right: 18px !important;

    text-indent: 0 !important;
}

#nav li a:hover,
#nav li a.active {
    background-image: none !important;
}



/* =========================================================
   1KING KNOWLEDGE BASE
   Category listing, sidebar and article links
   ========================================================= */

/* Knowledge Base page layout */

#content .row {
    margin-top: 12px;
}

/* Category list */

#kb {
    list-style: none;
    margin: 22px 0;
    padding: 0;
}

#kb > li {
    position: relative;
    list-style: none;
    margin: 0 0 18px;
    padding: 22px 24px;
    background: #fff;
    border: 1px solid var(--1k-border);
    border-radius: var(--1k-radius);
    box-shadow: var(--1k-shadow);
    transition: border-color .18s ease, box-shadow .18s ease;
}

#kb > li:hover {
    border-color: rgba(168, 145, 93, .55);
    box-shadow: var(--1k-shadow-hover);
}

/* Replace the legacy category icon with a simple gold marker */

#kb > li > i:first-child {
    position: absolute;
    top: 25px;
    left: 22px;
    width: 5px;
    height: 28px;
    border-radius: 4px;
    background: var(--1k-gold);
}

/* Category title */

#kb h4 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}

#kb h4 a {
    color: var(--1k-charcoal);
    text-decoration: none;
}

#kb h4 a:hover {
    color: var(--1k-taupe);
}

/* Category description */

#kb .faded {
    color: var(--1k-muted);
    font-size: 14px;
    line-height: 1.7;
}

#kb .faded p:last-child {
    margin-bottom: 0;
}

/* Subcategory links */

#kb > li > div > div[style*="padding-bottom"] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 0 4px !important;
}

#kb > li > div > div[style*="padding-bottom"] > div {
    margin: 0;
}

#kb > li > div > div[style*="padding-bottom"] a {
    display: inline-block;
    padding: 7px 11px;
    border: 1px solid var(--1k-border);
    border-radius: 6px;
    color: var(--1k-charcoal);
    background: #fafaf8;
    font-size: 13px;
    text-decoration: none;
}

#kb > li > div > div[style*="padding-bottom"] a:hover {
    border-color: var(--1k-gold);
    background: #f7f3e9;
}

/* Popular FAQ links shown within each category */

#kb .popular-faq {
    margin-top: 9px;
    padding: 9px 0 0;
    border-top: 1px solid #efeee9;
    font-size: 14px;
    line-height: 1.5;
}

#kb .popular-faq i {
    display: none;
}

#kb .popular-faq a {
    color: var(--1k-blue);
    text-decoration: none;
}

#kb .popular-faq a:hover {
    color: var(--1k-taupe);
    text-decoration: underline;
}

/* Knowledge Base sidebar */

#content .sidebar {
    padding: 20px;
    background: #fff;
    border: 1px solid var(--1k-border);
    border-radius: var(--1k-radius);
    box-shadow: var(--1k-shadow);
}

#content .sidebar .searchbar {
    margin-bottom: 16px;
}

#content .sidebar .searchbar input[type="text"],
#content .sidebar .searchbar input.search,
#content .sidebar .searchbar select {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);
    box-sizing: border-box;
    background: #fff;
    color: var(--1k-charcoal);
}

#content .sidebar .searchbar input:focus,
#content .sidebar .searchbar select:focus {
    outline: none;
    border-color: var(--1k-gold);
    box-shadow: 0 0 0 3px rgba(168, 145, 93, .13);
}

/* Sidebar section headers */

#content .sidebar .content section {
    margin-top: 16px;
    padding-top: 15px;
    border-top: 1px solid var(--1k-border);
}

#content .sidebar .content .header,
#content .sidebar .content section > strong {
    display: block;
    margin-bottom: 10px;
    color: var(--1k-charcoal);
    font-size: 14px;
    font-weight: 700;
}

#content .sidebar .content section > div:not(.header) {
    padding: 5px 0;
    font-size: 13px;
    line-height: 1.5;
}

#content .sidebar .content section a {
    color: var(--1k-blue);
    text-decoration: none;
}

#content .sidebar .content section a:hover {
    color: var(--1k-taupe);
    text-decoration: underline;
}

/* Mobile layout */

@media (max-width: 767px) {
    #kb > li {
        padding: 18px 16px;
    }

    #kb > li > i:first-child {
        left: 15px;
        top: 21px;
    }

    #kb > li > div {
        margin-left: 18px !important;
    }

    #kb h4 {
        font-size: 16px;
    }

    #content .sidebar {
        margin-top: 20px;
        padding: 16px;
    }
}


/* Fix Knowledge Base sidebar overflowing its column */

#content .row > .span4,
#content .row > .span8 {
    min-width: 0;
    box-sizing: border-box;
}

#content .row > .span4 {
    padding-left: 10px;
    padding-right: 10px;
}

#content .row > .span4 .sidebar {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

/* Keep sidebar controls inside the card */
#content .row > .span4 .sidebar *,
#content .row > .span4 .sidebar *::before,
#content .row > .span4 .sidebar *::after {
    box-sizing: border-box;
}

#content .row > .span4 .sidebar input,
#content .row > .span4 .sidebar select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Mobile layout */
@media (max-width: 767px) {
    #content .row > .span4 {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    #content .row > .span4 .sidebar {
        width: 100%;
    }
}



/* =========================================================
   1KING RESPONSIVE LAYOUT
   osTicket 1.18.4
   ========================================================= */

/* Universal sizing */
#content *,
#content *::before,
#content *::after,
#oneking-home *,
#oneking-open-ticket *,
#footer * {
    box-sizing: border-box;
}

img,
video,
iframe {
    max-width: 100%;
}

/* Prevent long URLs and words from breaking layouts */
#content,
#oneking-home,
#oneking-open-ticket {
    min-width: 0;
    overflow-wrap: anywhere;
}

#content img {
    height: auto;
}

/* Flexible Knowledge Base columns */
#content .row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

#content .row > .span8,
#content .row > .span4 {
    min-width: 0;
    float: none;
    box-sizing: border-box;
}

#content .row > .span8 {
    width: 66.6667%;
    padding: 0 12px;
}

#content .row > .span4 {
    width: 33.3333%;
    padding: 0 12px;
}

#content .row > .span4 .sidebar {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* Keep all Knowledge Base controls inside the sidebar */
#content .sidebar input,
#content .sidebar select,
#content .sidebar textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Search and form fields */
#content input[type="text"],
#content input[type="email"],
#content input[type="tel"],
#content input[type="password"],
#content input[type="search"],
#content select,
#content textarea,
#oneking-open-ticket input,
#oneking-open-ticket select,
#oneking-open-ticket textarea {
    max-width: 100%;
}

#content input,
#content select,
#content textarea,
#oneking-open-ticket input,
#oneking-open-ticket select,
#oneking-open-ticket textarea {
    min-width: 0;
}

/* Responsive home page cards */
#oneking-home .oneking-action-grid,
#oneking-home .oneking-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

#oneking-home .oneking-action-grid > *,
#oneking-home .oneking-category-grid > * {
    min-width: 0;
}

/* Ticket forms and cards */
#oneking-open-ticket,
#oneking-open-ticket .oneking-ticket-form,
#oneking-open-ticket .oneking-form-section,
#oneking-open-ticket .oneking-section-body {
    max-width: 100%;
    min-width: 0;
}

#oneking-open-ticket .oneking-section-body {
    overflow-wrap: anywhere;
}

#oneking-open-ticket .oneking-dynamic-form {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

#oneking-open-ticket .oneking-dynamic-form td {
    min-width: 0;
    overflow-wrap: anywhere;
}

#oneking-open-ticket .oneking-dynamic-form input[type="text"],
#oneking-open-ticket .oneking-dynamic-form input[type="email"],
#oneking-open-ticket .oneking-dynamic-form input[type="tel"],
#oneking-open-ticket .oneking-dynamic-form select,
#oneking-open-ticket .oneking-dynamic-form textarea {
    width: 100%;
    max-width: 100%;
}

/* Images and attachments inside FAQ articles */
#content .thread-body img,
#content .faq-content img {
    max-width: 100%;
    height: auto;
}

#content .thread-body pre,
#content .thread-body code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

#content .thread-body table {
    max-width: 100%;
}

/* Tables: permit horizontal scrolling when needed */
#ticketTable {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#ticketTable th,
#ticketTable td {
    overflow-wrap: anywhere;
}

/* Footer */
#footer {
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1024px) {
    #content .row > .span8 {
        width: 60%;
    }

    #content .row > .span4 {
        width: 40%;
    }

    #oneking-home .oneking-action-grid,
    #oneking-home .oneking-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #oneking-open-ticket {
        width: 100%;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

    /* Stack Knowledge Base content and sidebar */
    #content .row {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    #content .row > .span8,
    #content .row > .span4 {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin-left: 0;
        margin-right: 0;
    }

    #content .row > .span4 {
        margin-top: 20px;
    }

    #content .row > .span4 .sidebar {
        width: 100%;
        margin: 0;
        padding: 16px;
    }

    /* Knowledge Base categories */
    #kb > li {
        padding: 16px;
        margin-bottom: 14px;
    }

    #kb > li > div {
        margin-left: 14px !important;
    }

    #kb h4 {
        font-size: 16px;
        line-height: 1.45;
    }

    #kb .faded {
        font-size: 14px;
        line-height: 1.65;
    }

    /* Home page hero */
    #oneking-home .oneking-hero {
        padding: 28px 18px;
    }

    #oneking-home .oneking-hero h1,
    #oneking-home .oneking-hero h2 {
        font-size: clamp(24px, 6vw, 34px);
        line-height: 1.2;
    }

    #oneking-home .oneking-search {
        width: 100%;
        max-width: 100%;
    }

    #oneking-home .oneking-action-grid,
    #oneking-home .oneking-category-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    #oneking-home .oneking-support-cta {
        padding: 22px 18px;
    }

    /* Open Ticket header */
    #oneking-open-ticket .oneking-page-header {
        align-items: flex-start;
        gap: 12px;
    }

    #oneking-open-ticket .oneking-page-header .oneking-page-icon {
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
    }

    #oneking-open-ticket .oneking-page-header h1 {
        font-size: 24px;
        line-height: 1.25;
    }

    /* Form cards */
    #oneking-open-ticket .oneking-section-header {
        padding: 13px 15px;
    }

    #oneking-open-ticket .oneking-section-body {
        padding: 15px;
    }

    #oneking-open-ticket .oneking-dynamic-form {
        table-layout: auto;
    }

    #oneking-open-ticket .oneking-dynamic-form > tbody > tr > td {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    #oneking-open-ticket .oneking-dynamic-form input,
    #oneking-open-ticket .oneking-dynamic-form select,
    #oneking-open-ticket .oneking-dynamic-form textarea {
        font-size: 16px;
    }

    #oneking-open-ticket .oneking-dynamic-form .redactor-styles {
        min-height: 150px !important;
    }

    /* Form buttons */
    #oneking-open-ticket .buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-start;
    }

    #oneking-open-ticket .buttons input,
    #oneking-open-ticket .buttons button {
        min-height: 44px;
        margin: 0;
    }

    /* FAQ article readability */
    #content .faq-content .article-title {
        font-size: 22px;
        line-height: 1.35;
    }

    #content .thread-body {
        line-height: 1.7;
        overflow-wrap: anywhere;
    }

    /* Avoid oversized padding on small screens */
    #content {
        padding-left: 12px;
        padding-right: 12px;
    }

    #footer {
        padding-left: 14px;
        padding-right: 14px;
        text-align: center;
    }
}

/* Extra-small phones */
@media screen and (max-width: 380px) {
    #oneking-open-ticket .oneking-section-body {
        padding: 12px;
    }

    #oneking-home .oneking-hero {
        padding: 22px 14px;
    }

    #kb > li {
        padding: 13px;
    }

    #content .row > .span4 .sidebar {
        padding: 13px;
    }
}


/* =========================================================
   1KING - MOBILE-FIRST OVERRIDES
   ========================================================= */

@media screen and (max-width: 767px) {

    /* Prevent the page itself from creating horizontal scrolling */
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    #container,
    #content,
    #landing_page,
    #oneking-home,
    #oneking-open-ticket,
    .main-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #content {
        padding: 14px !important;
    }

    /* Header and logo */
    #header {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 12px 14px !important;
        box-sizing: border-box;
    }

    #logo {
        float: none !important;
        display: block;
        max-width: 100%;
        margin: 0 auto 12px !important;
        text-align: center;
    }

    #logo img {
        max-width: min(190px, 100%);
        height: auto;
    }

    /* Account/profile links must wrap */
    #header a {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    /* Navigation: wrap links instead of overflowing */
    #nav {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 0 10px !important;
        box-sizing: border-box;
    }

    #nav ul {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #nav li {
        float: none !important;
        display: block !important;
        flex: 1 1 140px;
        min-width: 0;
        height: auto !important;
        margin: 0 !important;
        text-align: center;
    }

    #nav li a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        height: auto !important;
        padding: 10px 8px !important;
        white-space: normal !important;
        text-indent: 0 !important;
        line-height: 1.4;
        overflow-wrap: anywhere;
        background-image: none !important;
        box-sizing: border-box;
    }

    /* All two-column layouts become one column */
    #content .row {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 !important;
    }

    #content .row > .span8,
    #content .row > .span4,
    #content .row > [class*="span"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 18px !important;
        padding: 0 !important;
    }

    #content .sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 15px !important;
        box-sizing: border-box;
    }

    /* Home page: cards always stack on phones */
    #oneking-home .oneking-action-grid,
    #oneking-home .oneking-category-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        gap: 12px !important;
    }

    #oneking-home .oneking-hero {
        padding: 24px 16px !important;
    }

    #oneking-home .oneking-hero h1,
    #oneking-home .oneking-hero h2 {
        font-size: 27px !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere;
    }

    #oneking-home .oneking-search form {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    #oneking-home .oneking-search input,
    #oneking-home .oneking-search button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px;
        margin: 0 !important;
    }

    /* Ticket form: remove fixed widths */
    #oneking-open-ticket .oneking-ticket-form,
    #oneking-open-ticket .oneking-form-section,
    #oneking-open-ticket .oneking-section-body,
    #oneking-open-ticket .oneking-help-topic,
    #oneking-open-ticket .oneking-dynamic-form,
    #dynamic-form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    #oneking-open-ticket .oneking-section-body {
        padding: 14px !important;
    }

    #oneking-open-ticket .oneking-dynamic-form {
        table-layout: fixed !important;
    }

    #oneking-open-ticket .oneking-dynamic-form td {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-wrap: anywhere;
    }

    #dynamic-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    #dynamic-form select,
    #dynamic-form textarea,
    #dynamic-form .redactor-box,
    #dynamic-form .-redactor-container {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #dynamic-form input[type="file"] {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal;
    }

    #dynamic-form .redactor-styles {
        min-height: 150px !important;
    }

    /* Stack ticket action buttons where possible */
    #oneking-open-ticket .buttons {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    #oneking-open-ticket .buttons input,
    #oneking-open-ticket .buttons button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px;
        margin: 0 !important;
    }

    /* My Tickets table: scroll the table, not the entire page */
    #ticketTable {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    #ticketTable th,
    #ticketTable td {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* Ticket search/filter controls */
    #ticketSearchForm {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    #ticketSearchForm input,
    #ticketSearchForm select,
    #ticketSearchForm button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px;
        box-sizing: border-box;
    }

    /* FAQ articles and category cards */
    #kb > li {
        width: 100% !important;
        max-width: 100% !important;
        padding: 15px !important;
        box-sizing: border-box;
    }

    #content .faq-content,
    #content .thread-body {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    #content .thread-body table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
    }

    /* Footer */
    #footer {
        width: 100% !important;
        max-width: 100% !important;
        padding: 18px 14px !important;
        text-align: center;
        overflow-wrap: anywhere;
        box-sizing: border-box;
    }

    #footer p {
        line-height: 1.6;
    }
}

/* Very small phones */
@media screen and (max-width: 380px) {

    #content {
        padding: 10px !important;
    }

    #nav li {
        flex-basis: 100%;
    }

    #oneking-home .oneking-hero h1,
    #oneking-home .oneking-hero h2 {
        font-size: 24px !important;
    }

    #oneking-open-ticket .oneking-section-body {
        padding: 11px !important;
    }
}


/* =========================================================
   1KING - CHECK TICKET STATUS
   ========================================================= */

#clientLogin {
    width: 100%;
    max-width: 760px;
    margin: 28px auto 20px;
}

#clientLogin .login-box {
    width: 100%;
    max-width: none;
    float: none;
    box-sizing: border-box;

    padding: 30px;
    border: 1px solid var(--1k-border);
    border-radius: 14px;

    background: var(--1k-card);
    box-shadow: var(--1k-shadow);
}

/* Error message */

#clientLogin .login-box > div:first-child strong {
    display: block;
    color: #b64b43;
    font-size: 13px;
}

/* Field spacing */

#clientLogin .login-box > div {
    margin-bottom: 20px;
}

#clientLogin .login-box label {
    display: block;
    color: var(--1k-charcoal);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
}

/* Email and ticket number */

#clientLogin input[type="text"],
#clientLogin input[type="email"] {
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-height: 46px;

    margin-top: 8px;
    padding: 11px 14px;

    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);

    background: #fff;
    color: var(--1k-charcoal);
    font-size: 14px;

    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

#clientLogin input[type="text"]:focus,
#clientLogin input[type="email"]:focus {
    border-color: var(--1k-gold);
    box-shadow: 0 0 0 3px rgba(168, 145, 93, .14);
    outline: none;
}

/* Lookup button */

#clientLogin input[type="submit"] {
    display: inline-block;
    min-height: 46px;

    padding: 12px 24px;

    border: 0;
    border-radius: var(--1k-radius-sm);

    background: var(--1k-charcoal);
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

#clientLogin input[type="submit"]:hover {
    background: var(--1k-slate);
    transform: translateY(-1px);
}

/* Sign-in and registration instructions */

#clientLogin .instructions {
    width: 100%;
    margin-top: 16px;

    color: var(--1k-muted);
    font-size: 13px;
    line-height: 1.7;

    text-align: center;
    box-sizing: border-box;
}

#clientLogin a,
#clientLogin + br + p a {
    color: var(--1k-blue);
    font-weight: 600;
    text-decoration: none;
}

#clientLogin a:hover,
#clientLogin + br + p a:hover {
    color: var(--1k-charcoal);
    text-decoration: underline;
}

/* Open-ticket assistance */

#clientLogin + br + p {
    max-width: 760px;
    margin: 20px auto 36px;

    color: var(--1k-muted);
    font-size: 13px;
    line-height: 1.7;
}

/* Page heading */

body:has(#clientLogin) #content h1 {
    color: var(--1k-charcoal);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -.4px;
}

body:has(#clientLogin) #content > p {
    color: var(--1k-muted);
    line-height: 1.7;
}

/* Mobile */

@media (max-width: 700px) {
    #clientLogin {
        margin-top: 18px;
    }

    #clientLogin .login-box {
        padding: 20px 16px;
        border-radius: 10px;
    }

    #clientLogin input[type="submit"] {
        width: 100%;
    }

    body:has(#clientLogin) #content h1 {
        font-size: 24px;
    }
}

/* Check Ticket Status - stack account links vertically */
#clientLogin .instructions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;

    text-align: center;
    line-height: 1.6;
}

#clientLogin .instructions a {
    display: inline-block;
}

/* Keep account prompt and links readable on mobile */
@media (max-width: 700px) {
    #clientLogin .instructions {
        gap: 10px;
    }
}



/* Vince  */
a#logo {
    display: flex;
}

#clientLogin {
background: #f6f6f6!important
}

input#passwd {
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-height: 46px;
    margin-top: 8px;
    padding: 11px 14px;
    border: 1px solid #d7d6d1;
    border-radius: var(--1k-radius-sm);
    background: #fff;
    color: var(--1k-charcoal);
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}
/* /vince */










