:root{--forest:#0c2c22;--forest2:#174338;--gold:#c6a15b;--bg:#f3f5f2;--ink:#1c2924;--muted:#748079;--line:#dde2de;--white:#fff;--red:#b95555;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.admin-body{display:flex;min-height:100vh}.admin-sidebar{width:250px;background:#0a271e;color:#fff;position:fixed;inset:0 auto 0 0;padding:26px 18px 18px;display:flex;flex-direction:column;z-index:50}.admin-logo{display:flex;align-items:center;gap:11px;margin:0 8px 30px}.admin-logo>span{width:39px;height:43px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-weight:700;clip-path:polygon(50% 0,100% 20%,100% 80%,50% 100%,0 80%,0 20%)}.admin-logo div{display:flex;flex-direction:column;line-height:1.25}.admin-logo strong{font-size:14px}.admin-logo small{font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:#9eb0a8}.admin-sidebar nav{overflow:auto;scrollbar-width:none}.admin-sidebar nav>small{display:block;margin:22px 11px 7px;text-transform:uppercase;letter-spacing:.16em;font-size:8px;color:#688078}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:2px 0;border-radius:4px;color:#b8c7c1;font-size:12px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#154137;color:#fff}.admin-sidebar nav a i{font-style:normal;width:19px;text-align:center;color:#cfad68}.admin-user{margin-top:auto;padding:17px 6px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:10px}.admin-user>span{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#11271f;font-weight:700}.admin-user div{display:flex;flex-direction:column;min-width:0;flex:1}.admin-user strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user small{font-size:8px;color:#82968e;text-transform:capitalize}.admin-user form button{border:0;background:none;color:#8ea29a;font-size:17px}.admin-main{margin-left:250px;min-width:0;flex:1}.admin-topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between}.admin-topbar h1{font-size:20px;margin:0}.admin-topbar p{font-size:10px;color:var(--muted);margin:3px 0}.top-actions{display:flex;align-items:center;gap:25px}.top-actions>a{font-size:11px;font-weight:600}.status-dot{font-size:10px;color:#4e6a5f}.status-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#3eb477;margin-right:6px}.sidebar-toggle{display:none;border:0;background:none;font-size:20px}.admin-content{padding:32px;max-width:1600px;margin-inline:auto}.admin-flash{margin:18px 32px 0;padding:13px 48px 13px 15px;background:#fff;border-left:3px solid #3c9c73;box-shadow:0 5px 18px rgba(20,40,30,.06);position:relative;font-size:12px}.admin-flash.error{border-color:var(--red)}.admin-flash.warning{border-color:#d7a73e}.admin-flash button{position:absolute;right:14px;border:0;background:none}.admin-card{background:#fff;border:1px solid var(--line);border-radius:3px}.welcome-banner{background:linear-gradient(110deg,#0c3328,#1b4e40);color:#fff;min-height:150px;padding:32px 35px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.welcome-banner:after{content:"";position:absolute;right:90px;width:210px;height:210px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.015)}.welcome-banner>div,.welcome-banner>a{position:relative;z-index:1}.welcome-banner span{text-transform:uppercase;color:#d8b96f;font-size:9px;letter-spacing:.13em}.welcome-banner h2{margin:8px 0 0;font-size:22px;font-weight:500}.admin-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:0;background:var(--forest);color:#fff;padding:12px 16px;font-size:11px;font-weight:600;border-radius:2px}.admin-button:hover{background:var(--forest2)}.admin-button.light{background:#fff;color:var(--forest)}.admin-button.small{padding:7px 12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat-grid article{background:#fff;border:1px solid var(--line);padding:20px;min-height:150px;display:flex;flex-direction:column}.stat-grid article>div{display:flex;align-items:center;gap:10px}.stat-grid article>div span{width:31px;height:31px;border-radius:50%;background:#eef3ef;display:grid;place-items:center;color:#497163}.stat-grid article small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:8px}.stat-grid article>strong{font-size:29px;margin:13px 0 8px}.stat-grid article>a{font-size:9px;color:#876b35;margin-top:auto}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.card-heading{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.card-heading h2{font-size:14px;margin:0}.card-heading p{font-size:9px;color:var(--muted);margin:3px 0}.card-heading>a{font-size:9px;font-weight:700;color:#816633}.request-list{padding:0 22px}.request-row{display:grid;grid-template-columns:34px 1fr auto 40px;gap:11px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0ee}.request-icon{width:31px;height:31px;border-radius:50%;background:#eef3ef;color:#527366;display:grid;place-items:center}.request-row strong{font-size:11px}.request-row p{font-size:9px;color:var(--muted);margin:2px 0}.request-row>small{font-size:8px;color:#9ba39f}.badge{display:inline-flex;padding:4px 7px;border-radius:20px;font-size:8px;text-transform:uppercase;letter-spacing:.05em;background:#ecefed;color:#65716c}.badge.published,.badge.paid,.badge.active,.badge.reviewed{background:#e3f3eb;color:#277653}.badge.draft,.badge.pending,.badge.new{background:#fff3d9;color:#9a6b17}.badge.archived,.badge.failed{background:#f7e5e5;color:#9d4a4a}.quick-card>a{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;padding:13px 20px;border-bottom:1px solid #edf0ee}.quick-card>a>span{width:31px;height:31px;background:#f2f4f1;display:grid;place-items:center;color:#8b6c36}.quick-card>a strong,.quick-card>a small{display:block}.quick-card>a strong{font-size:10px}.quick-card>a small{font-size:8px;color:var(--muted)}.quick-card>a i{font-style:normal;color:#9da5a1}.finance-snapshot{margin-bottom:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{text-align:left;padding:13px 20px;border-bottom:1px solid #edf0ee}th{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#84908a;background:#fafbf9}td{font-size:10px;color:#54605b}td strong{display:block;color:var(--ink);font-size:10px}td small{display:block;color:#929c97;margin-top:2px}.empty{text-align:center!important;color:#8b9690!important;padding:32px!important}.content-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.content-toolbar p{color:var(--muted);font-size:11px}.table-tools{padding:16px 20px;border-bottom:1px solid var(--line)}.table-tools label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:8px 11px;width:300px;color:#9aa39e}.table-tools input{border:0;outline:0;width:100%;font-size:10px}.row-actions{display:flex;align-items:center;gap:13px}.row-actions a,.row-actions button{font-size:9px;border:0;background:none;color:#4e7265;padding:0}.row-actions button{color:#aa5757}.row-actions form{display:inline}.editor-layout{display:grid;grid-template-columns:1fr 250px;gap:18px;align-items:start}.editor-card{padding-bottom:25px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:23px}.field-grid label,.new-user label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#53615b;font-weight:600}.field-grid input,.field-grid textarea,.field-grid select,.new-user input,.new-user select{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid #d8ded9;background:#fff;outline:0;text-transform:none;letter-spacing:0;font-size:11px;color:var(--ink)}.field-grid input:focus,.field-grid textarea:focus,.field-grid select:focus{border-color:#6e8d80;box-shadow:0 0 0 3px #edf3f0}.full-field{grid-column:1/-1}.publish-card{padding:22px;position:sticky;top:18px}.publish-card h3{font-size:13px;margin:0}.publish-card p,.editor-tip p{font-size:9px;color:var(--muted)}.publish-card .admin-button{width:100%;margin:12px 0}.publish-card>a{display:block;text-align:center;font-size:9px;color:var(--muted)}.editor-tip{padding:18px;margin-top:15px}.editor-tip strong{font-size:10px;color:#876b35}.settings-form{max-width:1050px}.settings-section{display:grid;grid-template-columns:260px 1fr;margin-bottom:17px}.settings-heading{padding:26px;border-right:1px solid var(--line);display:flex;gap:15px}.settings-heading>span{font-size:9px;color:#a18042}.settings-heading h2{font-size:13px;margin:0}.settings-heading p{font-size:9px;color:var(--muted)}.settings-section .field-grid{padding:26px}.sticky-save{position:sticky;bottom:15px;background:#0c2d23;color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 35px rgba(15,40,30,.25)}.sticky-save>span{font-size:9px;color:#b8c7c1}.sticky-save .admin-button{background:var(--gold);color:#183028}.users-layout{grid-template-columns:1fr 320px}.new-user{padding:23px}.new-user h2{font-size:15px;margin:0}.new-user>p{font-size:9px;color:var(--muted)}.new-user label{display:block;margin:15px 0}.new-user .admin-button{width:100%}.inbox-list{display:grid;gap:14px}.inbox-item{padding:22px}.inbox-meta{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px}.inbox-meta>div>span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#8a6b34}.inbox-meta h2{font-size:13px;margin:2px 0}.inbox-meta p,.inbox-meta>small{font-size:8px;color:var(--muted);margin:0}.inbox-item blockquote{margin:18px 0;padding:18px;background:#f7f8f6;border-left:2px solid var(--gold);font-size:11px;color:#47534e}.inbox-actions{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:8px}.inbox-actions .consent{color:#35765d}.inbox-actions form{display:flex;gap:8px}.inbox-actions select{font-size:9px;border:1px solid var(--line);padding:6px}.finance-stats{grid-template-columns:repeat(3,1fr)}.finance-stats article>span{font-size:9px;color:var(--muted)}
.auth-body{min-height:100vh;background:#0a281f;color:#fff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,43%) 1fr}.auth-panel{background:#fff;color:var(--ink);padding:45px max(55px,8vw);display:flex;flex-direction:column}.auth-panel .admin-logo{margin-left:0}.auth-copy{margin:auto 0 28px}.auth-copy>span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#8f713b}.auth-copy h1{font:600 42px "Playfair Display",serif;margin:10px 0 5px}.auth-copy p{color:var(--muted);font-size:12px}.auth-panel form label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin:16px 0;color:#56635d}.auth-panel form input{display:block;width:100%;border:1px solid var(--line);padding:12px;margin-top:6px}.auth-panel form .admin-button{width:100%;margin-top:7px}.auth-help{text-align:center;color:#8c9691;font-size:9px;margin-top:20px}.auth-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;text-align:center;background:radial-gradient(circle at center,#1c4a3c,#0a281f 60%);position:relative;overflow:hidden}.auth-visual:before,.auth-visual:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.05);border-radius:50%}.auth-visual:after{width:390px;height:390px}.auth-cross{font-size:65px;color:var(--gold);z-index:1}.auth-visual blockquote{font:italic 32px/1.4 "Playfair Display",serif;max-width:610px;z-index:1}.auth-visual>span{color:var(--gold);text-transform:uppercase;font-size:9px;letter-spacing:.15em;z-index:1}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.settings-section{grid-template-columns:1fr}.settings-heading{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:800px){.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.open{transform:none}.admin-main{margin-left:0}.sidebar-toggle{display:block}.admin-topbar{padding:0 18px;justify-content:flex-start;gap:15px}.top-actions{margin-left:auto}.top-actions>a{display:none}.admin-content{padding:20px}.editor-layout,.users-layout{grid-template-columns:1fr}.editor-layout aside{display:flex;flex-direction:column}.publish-card{position:static}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:35px 28px}.admin-flash{margin-inline:20px}}
@media(max-width:520px){.stat-grid,.finance-stats{grid-template-columns:1fr}.welcome-banner{padding:25px;flex-direction:column;align-items:flex-start;gap:20px}.field-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.admin-topbar h1{font-size:15px}.status-dot{display:none}.settings-section .field-grid{padding:18px}.sticky-save>span{display:none}.sticky-save{justify-content:flex-end}.inbox-meta{grid-template-columns:38px 1fr}.inbox-meta>small{grid-column:2}.inbox-actions{align-items:flex-start;gap:12px;flex-direction:column}}
.rich-toolbar{display:flex;gap:4px;margin-top:7px;padding:7px;background:#f2f5f2;border:1px solid #d8ded9;border-bottom:0}.rich-toolbar button{border:0;background:#fff;padding:5px 8px;color:#40534b;font-size:9px}.rich-toolbar+textarea{margin-top:0}.history-link{margin-top:10px!important;color:#866a36!important}.media-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.upload-card{padding:22px;position:sticky;top:18px}.upload-card h2{font-size:15px;margin:0}.upload-card p{font-size:9px;color:var(--muted)}.upload-card label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin:16px 0}.upload-card input{display:block;width:100%;padding:9px;border:1px solid var(--line);margin-top:6px;text-transform:none}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.media-item{overflow:hidden}.media-item>img,.file-preview{width:100%;height:145px;object-fit:cover;background:#173d31;color:#d4b875;display:grid;place-items:center;font-weight:700;letter-spacing:.14em}.media-item>div:last-child{padding:13px}.media-item strong,.media-item small,.media-item code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-item strong{font-size:10px}.media-item small{font-size:8px;color:var(--muted)}.media-item code{font-size:8px;color:#55796b;background:#f1f4f1;padding:5px;margin-top:8px}.media-item form{text-align:right}.media-item form button{border:0;background:none;color:#a45656;font-size:8px;margin-top:7px}
@media(max-width:900px){.media-layout{grid-template-columns:1fr}.upload-card{position:static}.media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.media-grid{grid-template-columns:1fr}.rich-toolbar{flex-wrap:wrap}}

.rich-editor {
    display: block;
    margin-top: 7px;
    border: 1px solid #d8ded9;
    border-radius: 3px;
    overflow: hidden;
    background: #fff;
}

.rich-editor:focus-within {
    border-color: #6e8d80;
    box-shadow: 0 0 0 3px #edf3f0;
}

.rich-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 8px;
    border-bottom: 1px solid #d8ded9;
    background: #f5f6f8;
}

.rich-editor-toolbar button {
    min-width: 29px;
    height: 29px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 3px;
    background: #fff;
    color: #24243e;
    font-size: 10px;
    line-height: 1;
}

.rich-editor-toolbar button:hover,
.rich-editor-toolbar button:focus-visible {
    border-color: #b9b9ca;
    background: #ececf6;
    outline: none;
}

.rich-editor-divider {
    width: 1px;
    height: 20px;
    margin: 0 3px;
    background: #d8d8e1;
}

.rich-editor-surface {
    display: block;
    min-height: 280px;
    padding: 18px;
    overflow: auto;
    color: var(--ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0;
    text-transform: none;
    outline: none;
}

.rich-editor-surface:empty::before {
    color: #9899aa;
    content: attr(data-placeholder);
    pointer-events: none;
}

.rich-editor-surface h2,
.rich-editor-surface h3,
.rich-editor-surface p,
.rich-editor-surface blockquote {
    margin-top: 0;
}

.rich-editor-surface blockquote {
    margin-left: 0;
    padding: 10px 16px;
    border-left: 3px solid #ef1e2d;
    background: #faf5f6;
}

.rich-editor-surface img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 18px 0;
}

@media(max-width:520px) {
    .rich-editor-toolbar {
        align-items: stretch;
    }

    .rich-editor-divider {
        display: none;
    }

    .rich-editor-surface {
        min-height: 220px;
    }
}

.sms-admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
}

.sms-composer form {
    padding: 24px;
}

.sms-composer form > label {
    display: block;
    margin-bottom: 20px;
    color: #41425a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.sms-composer form > label input,
.sms-composer form > label textarea {
    display: block;
    width: 100%;
    margin-top: 7px;
    padding: 12px 13px;
    border: 1px solid #d9d9e2;
    background: #fff;
    color: var(--ink);
    font-size: 12px;
    letter-spacing: 0;
    line-height: 1.6;
    text-transform: none;
    outline: none;
}

.sms-composer form > label input:focus,
.sms-composer form > label textarea:focus {
    border-color: #34316f;
    box-shadow: 0 0 0 3px rgba(17, 16, 74, .08);
}

.sms-composer form > label small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.sms-provider-state {
    padding: 6px 9px;
    border-radius: 20px;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.sms-provider-state.ready {
    background: #e6f3ec;
    color: #277653;
}

.sms-provider-state.not-ready {
    background: #fff0e9;
    color: #a9412e;
}

.sms-recipient-summary,
.sms-message-analysis {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: -10px 0 22px;
    padding: 11px 13px;
    background: #f5f5fa;
    color: #67687b;
    font-size: 9px;
}

.sms-recipient-summary strong,
.sms-message-analysis strong {
    color: #1b1b3f;
}

.sms-limit-exceeded .sms-recipient-summary {
    background: #fff0ed;
    color: #a83232;
}

.sms-consent-check {
    display: grid !important;
    grid-template-columns: 17px 1fr;
    gap: 10px;
    align-items: start;
    padding: 15px;
    border: 1px solid #e2dfe5;
    background: #fcfafb;
    text-transform: none !important;
}

.sms-consent-check input {
    width: auto !important;
    margin: 2px 0 0 !important;
    box-shadow: none !important;
}

.sms-consent-check span {
    color: #55566c;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.55;
}

.sms-send-warning {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-left: 3px solid var(--red);
    background: #fff5f3;
    color: #8a4343;
    font-size: 9px;
}

.sms-send-button {
    min-width: 180px;
}

.sms-send-button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.sms-configuration {
    position: sticky;
    top: 18px;
    padding: 23px;
}

.sms-configuration h2,
.sms-status-breakdown h2 {
    margin: 0;
    font-size: 14px;
}

.sms-configuration > p {
    color: var(--muted);
    font-size: 9px;
}

.sms-config-row {
    display: grid;
    grid-template-columns: 10px 1fr;
    gap: 10px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid #eeeef2;
}

.sms-config-row > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.sms-config-row > span.ok {
    background: #32a46f;
}

.sms-config-row > span.missing {
    background: #d95a4d;
}

.sms-config-row strong,
.sms-config-row small {
    display: block;
}

.sms-config-row strong {
    font-size: 10px;
}

.sms-config-row small {
    color: var(--muted);
    font-size: 8px;
}

.sms-env-help {
    margin-top: 20px;
    padding: 14px;
    background: #10103c;
    color: #fff;
}

.sms-env-help > strong,
.sms-env-help > code,
.sms-env-help > small {
    display: block;
}

.sms-env-help > strong {
    margin-bottom: 10px;
    font-size: 9px;
}

.sms-env-help > code {
    overflow: hidden;
    color: #c9c9e3;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sms-env-help > small {
    margin-top: 10px;
    color: #aeb0cc;
    font-size: 8px;
}

.sms-history,
.sms-results,
.sms-contacts {
    margin-top: 18px;
}

.sms-contact-picker-link {
    margin: -8px 0 22px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #34316f;
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
}

.sms-contacts .card-heading > a {
    color: #34316f;
    font-size: 9px;
    font-weight: 700;
}

.sms-contact-tools {
    padding: 20px 22px;
    border-bottom: 1px solid #ececf1;
}

.sms-contact-upload {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px 14px;
    align-items: end;
}

.sms-contact-upload label span,
.sms-contact-select-toolbar label {
    display: block;
    color: #55566c;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.sms-contact-upload input,
.sms-contact-select-toolbar input,
.sms-contact-select-toolbar select {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 9px 10px;
    border: 1px solid #d9d9e2;
    background: #fff;
    color: #27283d;
    font-size: 10px;
}

.sms-contact-upload small {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 8px;
}

.sms-contact-select-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(150px, .6fr) auto auto auto;
    gap: 10px;
    align-items: end;
    padding: 16px 22px;
    background: #f8f8fb;
}

.sms-contact-select-toolbar > button:not(.admin-button) {
    padding: 10px;
    border: 1px solid #d9d9e2;
    background: #fff;
    color: #34316f;
    cursor: pointer;
    font-size: 9px;
    font-weight: 700;
}

.sms-contact-table {
    max-height: 390px;
    overflow-y: auto;
}

.sms-contact-table input[type="checkbox"] {
    width: 15px;
    height: 15px;
}

.sms-contact-empty {
    padding: 30px;
}

.badge.completed,
.badge.delivered,
.badge.sent {
    background: #e3f3eb;
    color: #277653;
}

.badge.partial,
.badge.queued,
.badge.sending,
.badge.accepted {
    background: #fff3d9;
    color: #8b621c;
}

.badge.failed,
.badge.undelivered,
.badge.not_sent {
    background: #f7e5e5;
    color: #9d4a4a;
}

.sms-campaign-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.sms-campaign-toolbar > a {
    color: #454664;
    font-size: 10px;
    font-weight: 700;
}

.sms-campaign-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 18px;
}

.sms-campaign-summary article {
    padding: 20px;
}

.sms-campaign-summary small,
.sms-campaign-summary strong {
    display: block;
}

.sms-campaign-summary small {
    color: var(--muted);
    font-size: 8px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.sms-campaign-summary strong {
    margin-top: 8px;
    color: #11113c;
    font-size: 27px;
}

.sms-campaign-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 18px;
}

.sms-campaign-message > div:last-child {
    padding: 22px;
}

.sms-campaign-message pre {
    margin: 0;
    color: #292a3e;
    font: 12px/1.7 var(--sans);
    white-space: pre-wrap;
}

.sms-campaign-message > div:last-child p {
    margin: 20px 0 0;
    color: var(--muted);
    font-size: 9px;
}

.sms-status-breakdown {
    padding: 22px;
}

.sms-status-breakdown > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eeeef2;
}

.sms-results code {
    color: #4b4d68;
    font-size: 8px;
}

@media(max-width:1000px) {
    .sms-admin-layout,
    .sms-campaign-layout {
        grid-template-columns: 1fr;
    }

    .sms-configuration {
        position: static;
    }
}

@media(max-width:700px) {
    .sms-campaign-summary {
        grid-template-columns: 1fr 1fr;
    }

    .sms-campaign-toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .sms-contact-upload,
    .sms-contact-select-toolbar {
        grid-template-columns: 1fr;
    }

    .sms-contact-upload small {
        grid-column: auto;
    }
}

@media(max-width:480px) {
    .sms-campaign-summary {
        grid-template-columns: 1fr;
    }
}
