.admin-body{min-height:100vh;background:#f2f3ef}
.admin-topbar{height:72px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dfe1da}
.admin-identity{font-size:11px;color:#686d65}
.admin-shell{width:min(1280px,90%);margin:52px auto 90px}
.admin-login{width:min(470px,100%);margin:9vh auto 0;padding:40px;background:#fff;border:1px solid #dedfd8}
.admin-login h1,.admin-heading h1{margin:0 0 11px;font-family:var(--display);font-size:38px;font-weight:500;letter-spacing:0}
.admin-login>p:not(.eyebrow){margin-bottom:26px;color:#6d7069;font-size:12px}
.admin-login form label,.campaign-form label,.result-form label,.approval-dialog label:not(.check-label){display:block;font-size:11px;font-weight:600}
.admin-login input,.campaign-form input,.campaign-form textarea,.result-form input,.result-form select,.approval-dialog input:not([type=checkbox]),.approval-dialog textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #d8dad2;background:#fff;color:#252722;outline-color:#264b3c;font-size:12px}
.admin-login form label{margin-bottom:15px}
.admin-login>small{display:block;margin-top:18px;color:#777b73;font-size:10px}
.admin-primary{min-height:42px;padding:11px 15px;border:0;background:#264b3c;color:#fff;font-size:11px;font-weight:700;text-align:left}
.admin-primary span{margin-left:20px;color:#d4dfd1}
.admin-primary.compact{white-space:nowrap}
.admin-message{display:inline-block;margin:0 0 0 10px;color:#a2402b;font-size:11px}
.admin-dashboard[hidden],.admin-panel[hidden],.campaign-form[hidden]{display:none}
.admin-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.admin-logout{padding:9px 13px;border:1px solid #c9ccc4;background:transparent;font-size:11px}
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:32px}
.stat-item{padding:18px 17px;background:#fff;border:1px solid #e1e2dc}
.stat-label{color:#73776e;font-size:10px}
.stat-value{display:block;margin-top:5px;font-family:var(--display);font-size:29px;line-height:1.1}
.admin-tabs{display:flex;gap:25px;overflow-x:auto;border-bottom:1px solid #d7d9d2}
.admin-tab{padding:13px 0;border:0;border-bottom:2px solid transparent;background:none;color:#696d65;font-size:11px;white-space:nowrap}
.admin-tab.active{border-color:#ca5939;color:#252722;font-weight:700}
.admin-panel{padding-top:28px}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.panel-heading h2{margin:0 0 5px;font-family:var(--display);font-size:27px;font-weight:500}
.panel-heading p{margin:0;color:#72766e;font-size:11px}
.campaign-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:0 0 25px;padding:20px;background:#e8ebe4}
.campaign-form .wide{grid-column:1/-1}
.campaign-form textarea,.approval-dialog textarea{resize:vertical}
.form-note{margin:0;color:#8b5a44;font-size:10px}
.campaign-media-preview{display:flex;flex-wrap:wrap;gap:10px}
.campaign-media-preview[hidden]{display:none}
.campaign-media-item{display:flex;width:128px;flex-direction:column;gap:5px;padding:7px;border:1px solid #d7d9d2;background:#fff}
.campaign-media-item img,.campaign-media-item video{width:100%;height:76px;object-fit:cover;background:#e8e9e3}
.campaign-media-item small{overflow:hidden;color:#686c64;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.media-remove{padding:4px;border:1px solid #d7d9d2;background:#fff;color:#944831;font-size:9px}
.table-wrap{overflow:auto;background:#fff;border:1px solid #e0e1dc}
table{width:100%;border-collapse:collapse;text-align:left;font-size:10px;white-space:nowrap}
th,td{padding:12px 14px;border-bottom:1px solid #ecece8}
th{color:#71756d;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}
tbody tr:last-child td{border-bottom:0}
.status-label{display:inline-block;padding:4px 7px;background:#e9ebe6;color:#53574f;font-size:9px;text-transform:uppercase}
.status-label.active,.status-label.paid,.status-label.confirmed{background:#dce7dc;color:#264b3c}
.status-label.pending_authorization,.status-label.pending{background:#f7e9dc;color:#8b502f}
.table-action{padding:5px 8px;border:1px solid #c8cbc2;background:transparent;font-size:9px}
.table-action+.table-action{margin-left:5px}
.result-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:0 0 28px;padding:20px;background:#e8ebe4}
.result-form .admin-primary,.result-form .admin-message{align-self:end}
.approval-dialog{width:min(560px,calc(100% - 28px));max-height:92vh;overflow:auto;padding:35px;border:0;background:#f6f5f0;color:#252722;box-shadow:0 15px 65px #171b1770}
.approval-dialog::backdrop{background:#18201bc0}
.approval-dialog h2{margin:0 0 8px;font-family:var(--display);font-size:31px;font-weight:500}
.approval-dialog>form>p:not(.eyebrow){color:#777b73;font-size:11px}
.approval-dialog label:not(.check-label){margin:12px 0}
.approval-dialog .check-label{margin:16px 0}
.approval-dialog .dialog-close{position:sticky;float:right;top:0}
@media(max-width:850px){.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-shell{width:94%}}
@media(max-width:600px){.admin-topbar{padding:0 5%}.admin-shell{width:92%;margin:30px auto 60px}.admin-login{margin-top:4vh;padding:28px 22px}.admin-login h1,.admin-heading h1{font-size:32px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-item{padding:14px}.stat-value{font-size:25px}.panel-heading{align-items:flex-start;flex-direction:column}.campaign-form,.result-form{grid-template-columns:1fr;padding:15px}.campaign-form .wide{grid-column:auto}.result-form .admin-primary{width:100%}.admin-tabs{gap:20px}}

/* Credistory brand identity */
.admin-body{background:#f2f2ef;color:#202020}
.admin-topbar{background:#fff;border-bottom-color:#e5e5df}
.admin-topbar .brand{font-size:16px;letter-spacing:.2px}
.admin-topbar .brand small{font-size:8px;letter-spacing:1.2px}
.admin-topbar .brand-mark{width:42px;height:42px;display:block;border:0;border-radius:10px;object-fit:cover;background:#ffd51f}
.admin-login,.stat-item,.table-wrap{border-color:#e1e1dc;border-radius:10px;box-shadow:0 4px 16px #20202008}
.admin-primary{background:#ffd51f;color:#202020;border-radius:6px}
.admin-primary:hover{background:#f2c900}
.admin-primary span{color:#202020}
.admin-tab.active{border-color:#d1a900}
.admin-login input:focus,.campaign-form input:focus,.campaign-form textarea:focus,.result-form input:focus,.result-form select:focus,.approval-dialog input:focus,.approval-dialog textarea:focus{outline-color:#b39400}
.campaign-form,.result-form{background:#f0f0ec;border-radius:8px}
.status-label.active,.status-label.paid,.status-label.confirmed{background:#fff0a8;color:#393000}
.status-label.pending_authorization,.status-label.pending{background:#eee;color:#555}
.approval-dialog{background:#f8f8f5}
@media(max-width:600px){.admin-topbar .brand{font-size:13px}.admin-topbar .brand-mark{width:36px;height:36px}.admin-topbar .brand small{font-size:7px}}
