/* Application review uses the same readable cards in each application theme. */
.approval-admin-page{max-width:1320px;margin-inline:auto}
.approval-back{display:inline-flex;align-items:center;min-height:40px;font-size:13px;color:var(--muted);text-decoration:none}
.approval-back:hover{color:var(--text)}
#approval-admin{margin-top:22px}
.approval-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 30px}
.approval-summary>div{padding:19px 22px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:14px}
.approval-summary>div:first-child{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--panel))}
.approval-summary dt{font-size:12px;line-height:1.5;color:var(--muted);font-weight:600}
.approval-summary dd{font-size:32px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0;color:var(--text)}
.approval-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.approval-review-card{min-width:0;padding:26px!important;box-shadow:0 12px 26px #00000009}
.approval-review-card h2{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:20px 0 7px;overflow-wrap:anywhere}
.approval-review-card .topline{flex-wrap:wrap;gap:10px}
.approval-kind{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.035em}
.approval-status{font-size:10px;line-height:1.5;letter-spacing:.025em;font-weight:650;padding:5px 10px;border-radius:30px}
.approval-status-pending{color:#dfc88e;background:#d0af5412;border:1px solid #b8985b50}
.approval-status-approved{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.approval-status-rejected{color:#eba799;background:#be6f6912;border:1px solid #b9746650}
.approval-location{margin:0 0 18px!important;font-size:12px;color:var(--muted);line-height:1.5}
.approval-description{font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;max-height:15em;overflow-y:auto;margin:0 0 20px;color:var(--text)}
.approval-contact,.approval-dates{display:grid;gap:11px;margin:20px 0;padding:18px 0;border-block:1px solid var(--line)}
.approval-contact>div{display:grid;grid-template-columns:minmax(80px,.65fr) minmax(0,1.35fr);gap:15px}
.approval-contact dt,.approval-dates dt{color:var(--muted);font-size:11px;line-height:1.5}
.approval-contact dd,.approval-dates dd{font-size:12px;color:var(--text);line-height:1.5;margin:0;overflow-wrap:anywhere}
.approval-review-card form{margin-top:24px}
.approval-review-card label,.approval-notice label{font-size:12px;line-height:1.5;color:var(--muted)}
.approval-review-card textarea,.approval-notice textarea{margin-top:7px;font-size:13px;line-height:1.6;min-height:90px;resize:vertical}
.approval-review-card .actions{display:flex;gap:10px;margin-top:15px}
.approval-review-card .actions .btn{flex:1;justify-content:center;min-height:44px}
.approval-decline{color:var(--text);background:transparent;border-color:var(--line)}
.approval-decline:hover{border-color:#b97466;color:#dfaa9d;background:#b974660a}
.approval-reason{border-inline-start:2px solid color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--surface) 75%,transparent);padding:14px 16px;border-radius:0 8px 8px 0;margin:18px 0;overflow-wrap:anywhere}
.approval-reason>strong{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:7px}
.approval-reason>p{font-size:13px;line-height:1.6;margin:0;white-space:pre-wrap;color:var(--text)}
.approval-reviewed-date{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:20px}
.approval-history{margin-top:32px;border-top:1px solid var(--line);padding-top:22px}
.approval-history>summary{cursor:pointer;font-size:14px;color:var(--text);font-weight:600;min-height:44px;padding-block:8px;list-style-position:inside}
.approval-history>summary .badge{margin-inline-start:8px;font-weight:500}
.approval-history>.approval-request-grid{margin-top:18px}
.approval-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.approval-empty>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:50%;color:var(--accent);font-size:18px}
.approval-empty p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.approval-notice{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;max-width:880px;padding:30px!important;margin-block:22px;border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important}
.approval-notice-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);font-size:24px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));font-family:Georgia,serif}
.approval-notice .eyebrow{display:block;font-size:10px;letter-spacing:.1em;color:var(--muted);margin:1px 0 8px}
.approval-notice h2{font-size:27px;font-weight:550;line-height:1.2;letter-spacing:-.025em;margin:0 0 14px;overflow-wrap:anywhere}
.approval-notice p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 16px;overflow-wrap:anywhere}
.approval-notice .approval-reason p{font-size:13px;color:var(--text);margin:0}
.approval-notice .approval-dates{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}
.approval-dates dd{margin-top:4px}
.approval-notice .form{margin-top:26px}
.approval-notice .form .btn{margin-top:16px}
.approval-rejected .approval-notice-icon{color:#dfa89b;border-color:#b9746650;background:#b9746610}
.approval-previous-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:18px}
.approval-previous-note summary{cursor:pointer;min-height:36px}
.approval-previous-note p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.approval-decision-saved{display:block;color:var(--accent);padding:14px 0;font-size:13px;line-height:1.5}
.approval-review-card .form-error,.approval-notice .form-error{font-size:12px;color:var(--danger,#ef9993);margin-top:12px}
.approval-review-card .form-error:empty,.approval-notice .form-error:empty{display:none}
[data-theme="light"] .approval-status-pending{color:#765718;background:#eac46b20;border-color:#b7974c60}
[data-theme="light"] .approval-status-rejected,[data-theme="light"] .approval-rejected .approval-notice-icon{color:#8c4238}
@media(max-width:900px){.approval-request-grid{grid-template-columns:1fr}.approval-summary>div{padding:16px;flex-direction:column;align-items:start;gap:8px}.approval-summary dd{font-size:29px}}
@media(max-width:600px){.approval-summary{gap:8px}.approval-summary>div{padding:13px 11px;border-radius:10px}.approval-summary dt{font-size:10px}.approval-summary dd{font-size:25px}.approval-review-card{padding:20px!important}.approval-review-card h2{font-size:22px}.approval-contact>div{grid-template-columns:1fr;gap:2px}.approval-contact{gap:15px}.approval-notice{grid-template-columns:1fr;gap:17px;padding:22px!important}.approval-notice-icon{width:44px;height:44px;font-size:22px}.approval-notice h2{font-size:24px}.approval-notice p{font-size:13px}.approval-notice .approval-dates{grid-template-columns:1fr;gap:14px}.approval-admin-page .section-head{align-items:start;gap:12px}.approval-admin-page .section-head h2{font-size:18px}}
