@font-face{font-family:Poppins;src:url('./fonts/Poppins-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/Poppins-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/Poppins-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}

:root{
  --bg-canvas:#fafafd;
  --bg-surface:#fff;
  --bg-subtle:#f6f6fe;
  --text-primary:#12122b;
  --text-secondary:#5a5a78;
  --text-muted:#6d6d83;
  --border-subtle:#e9e8f0;
  --border-control:#8d8c9f;
  --action-primary:#4f3fd9;
  --action-primary-hover:#4534c5;
  --action-on-primary:#fff;
  --state-selected:#eeebff;
  --brand-primary:#6a5cff;
  --focus-ring:#4f3fd9;
  --status-success:#177245;
  --status-success-bg:#edf8f1;
  --status-danger:#b92a2f;
  --status-danger-bg:#fff3f2;
  --radius-control:.5rem;
  --radius-panel:.75rem;
}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text-primary);background:var(--bg-canvas);font-family:Poppins,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.875rem;line-height:1.55;font-weight:400}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
button,input,select,textarea{max-width:100%}
button{border:0}
img,svg{vertical-align:middle;flex-shrink:0}
svg{pointer-events:none}
h1,h2,p,dl,dd{margin:0}
h1{font-size:1.5rem;line-height:1.4;font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere}
h2{font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:-.015em}
p{color:var(--text-secondary)}
button,a,input,select,textarea,summary{transition:background-color 150ms,color 150ms,border-color 150ms,box-shadow 150ms}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
main:focus{outline:0}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:1rem;z-index:20;background:var(--bg-surface);padding:.75rem 1rem;border:1px solid var(--focus-ring);border-radius:.5rem}
.skip-link:focus{top:1rem}
.brand{display:flex;align-items:center;gap:.625rem;min-width:0}
.brand img{object-fit:contain;border-radius:.5rem}
.brand>span{font-size:.875rem;font-weight:600;line-height:1.4;letter-spacing:-.03em}
.brand small{display:block;font-size:.6875rem;font-weight:400;letter-spacing:0;color:var(--text-secondary);margin-top:.125rem}
.app-shell{display:grid;grid-template-columns:14.75rem minmax(0,1fr);min-height:100dvh}
.sidebar{display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-subtle);min-width:0}
.sidebar-brand{padding:1.75rem 1.25rem 1.5rem}
.navigation{display:flex;flex-direction:column;gap:.375rem;padding:1rem .875rem}
.nav-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;min-height:2.5rem;border-radius:.5rem;color:var(--text-secondary);font-weight:500}
.nav-link:hover{background:var(--bg-subtle);color:var(--text-primary)}
.nav-link.selected{background:var(--state-selected);color:var(--action-primary)}
.nav-link:active{background:#e4dfff}
.sidebar-account{margin-top:auto;padding:1rem;border-top:1px solid var(--border-subtle)}
.account{display:flex;gap:.625rem;align-items:center;padding:.25rem;min-width:0}
.account>div{min-width:0}
.account-name{display:block;font-size:.8125rem;font-weight:500;overflow-wrap:anywhere}
.account-role{display:block;font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-secondary);background:var(--bg-subtle);font-size:.6875rem;font-weight:500}
.avatar-large{width:3.25rem;height:3.25rem;font-size:1rem;background:var(--state-selected);color:var(--action-primary);border-color:#dfdafc}
.workspace-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border:1px solid #dfdafc;border-radius:.5rem;color:var(--action-primary);background:var(--state-selected);font-size:.75rem;font-weight:600}
.logout-button{display:flex;align-items:center;gap:.625rem;width:100%;min-height:2.25rem;margin-top:.75rem;border-radius:.5rem;padding:.5rem .625rem;background:transparent;font-size:.8125rem;color:var(--text-secondary);text-align:left}
.logout-button:hover{color:var(--text-primary);background:var(--bg-subtle)}
.workspace{min-width:0}
.topbar{min-height:3.5rem;padding:.875rem 2rem;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);font-size:.75rem;color:var(--text-secondary)}
.breadcrumb-separator{color:#a4a2b3}
.breadcrumb-current{color:var(--text-primary)}
.main{padding:2rem;max-width:100rem;margin:0 auto}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}
.page-heading p{margin-top:.375rem;font-size:.8125rem}
.page-count{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}
.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.25rem 0;margin-bottom:2rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.stats-strip>div{padding:0 1.5rem;border-right:1px solid var(--border-subtle)}
.stats-strip>div:last-child{border-right:0}
.stats-strip dt{font-size:.75rem;color:var(--text-secondary)}
.stats-strip dd{margin-top:.375rem;font-size:1.5rem;line-height:1.4;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.dashboard-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.dashboard-stats>div{min-width:0;padding:1.25rem;border-right:1px solid var(--border-subtle)}
.dashboard-stats>div:last-child{border-right:0}
.dashboard-stats dt{font-size:.75rem;color:var(--text-secondary)}
.dashboard-stats dd{margin:.375rem 0 .125rem;font-size:1.5rem;line-height:1.35;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.dashboard-stats small{display:block;color:var(--text-muted);font-size:.6875rem;line-height:1.45}
.attribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:1.5rem}
.distribution-card{min-width:0;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.distribution-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.distribution-heading p{margin-top:.25rem;font-size:.75rem}
.distribution-heading strong{font-size:1.375rem;font-weight:500;font-variant-numeric:tabular-nums}
.distribution-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 0;border-top:1px solid var(--border-subtle)}
.distribution-list dt{display:flex;align-items:center;gap:.625rem;color:var(--text-secondary);font-size:.8125rem}
.distribution-list dd{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}
.distribution-list dd small{display:block;color:var(--text-muted);font-size:.6875rem;font-weight:400}
.distribution-dot{display:inline-block;width:.625rem;height:.625rem;border-radius:50%;background:#aaa}
.distribution-dot.manual{background:var(--brand-primary)}
.distribution-dot.google{background:#4285f4}
.distribution-dot.apple{background:#20202b}
.distribution-dot.android{background:#36a66a}
.distribution-dot.ios{background:#6a5cff}
.distribution-dot.unknown{background:#aaa8b5}
.platform-bar{display:block;width:100%;height:.625rem;margin:.125rem 0 .75rem;overflow:hidden;border-radius:1rem}
.platform-track{fill:var(--bg-subtle)}
.platform-android{fill:#36a66a}
.platform-ios{fill:#6a5cff}
.source-platform{display:block;font-size:.6875rem;margin-top:.125rem}
.chart-card{margin:0 0 1.5rem;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.chart-heading p,.section-subtitle{margin-top:.25rem;font-size:.75rem}
.chart-legend{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.75rem;white-space:nowrap}
.chart-legend>span{display:inline-block;width:.75rem;height:.1875rem;border-radius:1rem;background:var(--brand-primary)}
.chart-scroll{overflow-x:auto;max-width:100%}
.line-chart{display:block;width:100%;height:auto;min-width:40rem;overflow:visible}
.chart-grid{stroke:var(--border-subtle);stroke-width:1}
.chart-axis{fill:var(--text-muted);font-family:Poppins,sans-serif;font-size:11px}
.chart-line{fill:none;stroke:var(--brand-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chart-point{fill:var(--bg-surface);stroke:var(--brand-primary);stroke-width:2}
.dashboard-recent{margin-bottom:1.5rem}
.assistant-usage{margin-bottom:1.5rem}
.assistant-usage-summary{margin:0 1.5rem 1.25rem}
.assistant-usage-table{min-width:70rem}
.usage-all-time{display:block;font-size:.6875rem;margin-top:.125rem;white-space:nowrap}
.usage-estimate-note{padding:1rem 1.5rem;border-top:1px solid var(--border-subtle);font-size:.6875rem;color:var(--text-muted)}
.recent-table{min-width:38rem}
.last-seen{display:block;font-weight:500}
.last-seen-exact{display:block;font-size:.6875rem;margin-top:.125rem}
.list-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);overflow:hidden}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem}
.section-heading .secondary-text{font-size:.75rem}
.filter-form{display:flex;gap:.75rem;align-items:flex-end;padding:0 1.5rem 1.25rem;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:.375rem;min-width:0}
.field label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}
input,select,textarea{min-height:2.5rem;width:100%;padding:.5rem .75rem;border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-primary);line-height:1.5}
textarea{resize:vertical;min-height:6.5rem}
input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}
input:hover,select:hover,textarea:hover{border-color:var(--text-secondary)}
input:focus,select:focus,textarea:focus{border-color:var(--focus-ring)}
select{padding-right:1rem}
.search-field{width:20rem;max-width:100%;flex:1 1 15rem}
.filter-field{flex:0 1 11rem}
.input-icon{position:relative}
.input-icon>svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);width:1rem;height:1rem}
.input-icon>input{padding-left:2.25rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:.5rem .875rem;border-radius:var(--radius-control);border:1px solid transparent;font-size:.8125rem;line-height:1.5;font-weight:500;white-space:normal;text-align:center;vertical-align:middle}
.button-primary{color:var(--action-on-primary);background:var(--action-primary);border-color:var(--action-primary)}
.button-primary:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover)}
.button-primary:active{background:#3928b2;border-color:#3928b2}
.button-secondary{background:var(--bg-surface);border-color:var(--border-control);color:var(--text-primary)}
.button-secondary:hover{background:var(--bg-subtle);border-color:var(--text-secondary)}
.button-secondary:active,.button-ghost:active{background:var(--state-selected)}
.button-ghost{background:transparent;color:var(--text-secondary)}
.button-ghost:hover{background:var(--bg-subtle);color:var(--text-primary)}
.button-danger-ghost{background:transparent;color:var(--status-danger)}
.button-danger-ghost:hover{background:var(--status-danger-bg)}
.button-small{font-size:.75rem;min-height:2rem;padding:.375rem .625rem}
.button-full{width:100%}
.button[aria-disabled=true],.button:disabled{opacity:.5;cursor:default;pointer-events:none}
.table-scroll{position:relative;overflow-x:auto;max-width:100%}
.table-scroll:focus-visible{outline-offset:-3px}
.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem;min-width:44rem}
.data-table th{font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:#fdfdff;white-space:nowrap}
.data-table th,.data-table td{padding:.875rem 1rem;border-top:1px solid var(--border-subtle);vertical-align:middle}
.data-table th:first-child,.data-table td:first-child{padding-left:1.5rem}
.data-table th:last-child,.data-table td:last-child{padding-right:1.5rem}
.data-table tbody tr:hover{background:#fcfbff}
.data-table td{overflow-wrap:anywhere}
.user-link{display:flex;align-items:center;gap:.625rem;max-width:22rem;min-width:10rem;line-height:1.5}
a.user-link{font-weight:500}
a.user-link:hover{color:var(--action-primary)}
.contact-cell>span{display:block}
.contact-cell .secondary-text{font-size:.75rem;margin-top:.125rem}
.numeric-cell{text-align:right;font-variant-numeric:tabular-nums}
.nowrap{white-space:nowrap}
.secondary-text{color:var(--text-secondary)}
.medium-text{font-weight:500}
.row-action{text-align:right;white-space:nowrap}
.detail-link{display:inline-flex;gap:.375rem;align-items:center;min-height:2rem;font-size:.75rem;color:var(--text-secondary);padding:.25rem 0 .25rem .5rem}
.detail-link:hover{color:var(--action-primary)}
.detail-link svg{width:1rem;height:1rem}
.badge{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap;font-size:.6875rem;line-height:1.5;font-weight:500;padding:.25rem .5rem;border-radius:.375rem}
.badge-success{color:var(--status-success);background:var(--status-success-bg)}
.badge-neutral{color:var(--text-secondary);background:#f0f0f5}
.status-dot{width:.3125rem;height:.3125rem;border-radius:50%;background:currentColor;flex-shrink:0}
.empty-state{text-align:center;padding:3rem 1.5rem;border-top:1px solid var(--border-subtle)}
.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--border-subtle);border-radius:.75rem;color:var(--text-secondary);background:var(--bg-canvas);margin-bottom:1rem}
.empty-icon svg{width:1.25rem;height:1.25rem}
.empty-state h2{font-size:.875rem;font-weight:500}
.empty-state p{max-width:27rem;margin:.5rem auto 0;font-size:.8125rem}
.list-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-top:1px solid var(--border-subtle)}
.list-footer>p{font-size:.75rem;font-variant-numeric:tabular-nums}
.pagination{display:flex;align-items:center;gap:.625rem}
.page-indicator{font-size:.6875rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.8125rem;margin-bottom:1.5rem;min-height:2rem}
.back-link:hover{color:var(--action-primary)}
.identity-heading{display:flex;align-items:center;gap:1rem;min-width:0}
.detail-heading{align-items:center}
.detail-section{border-top:1px solid var(--border-subtle);padding:1.5rem 0}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;max-width:54rem;margin-top:1.5rem}
.detail-grid dt{color:var(--text-secondary);font-size:.75rem;margin-bottom:.375rem}
.detail-grid dd{font-size:.875rem;overflow-wrap:anywhere}
.detail-wide{grid-column:1/-1}
.record-id{font-size:.75rem!important;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.workspace-section>.section-heading{padding:0 0 1.25rem}
.workspace-section .table-scroll{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.workspace-section .data-table{min-width:36rem}
.workspace-section .data-table thead tr:first-child th{border-top:0}
.workspace-section .empty-state{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--bg-surface)}
.notification-stats{margin-bottom:1.5rem}
.notification-layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1.5rem;align-items:start}
.notification-layout>.recipients-section{grid-column:1;grid-row:1}
.composer-card{grid-column:2;grid-row:1;position:sticky;top:0;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.composer-card>h2{margin-bottom:1.25rem}
.composer-form{display:flex;flex-direction:column;gap:1rem}
.target-picker{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;border:0;min-width:0}
.target-picker>legend{padding:0;margin-bottom:.375rem;font-size:.75rem;font-weight:500;color:var(--text-secondary)}
.target-option{position:relative;display:block;cursor:pointer}
.target-option>input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.target-option>span{display:flex;flex-direction:column;gap:.125rem;height:100%;padding:.625rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--bg-surface);transition:border-color .15s,background .15s}
.target-option strong{font-size:.8125rem;font-weight:500}
.target-option small{font-size:.6875rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.target-option:hover>span{border-color:var(--text-secondary)}
.target-option>input:checked+span{border-color:var(--action-primary);background:var(--state-selected);box-shadow:inset 0 0 0 1px var(--action-primary)}
.target-option>input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}
.target-picker:disabled .target-option{cursor:default;opacity:.6}
.selection-box{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:var(--radius-control);background:var(--bg-subtle)}
.selection-box[hidden]{display:none}
.recipient-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;max-height:9rem;overflow:auto}
.recipient-chip{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:.125rem .25rem .125rem .625rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface);font-size:.75rem}
.recipient-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border-radius:50%;background:transparent;color:var(--text-secondary);font-size:.9375rem;line-height:1}
.chip-remove:hover{background:var(--state-selected);color:var(--text-primary)}
.selection-box>.button[hidden]{display:none}
.counter{align-self:flex-end;font-variant-numeric:tabular-nums}
.recipient-table{min-width:40rem}
.check-cell{width:2.75rem}
.data-table th.check-cell,.data-table td.check-cell{padding-right:0}
.row-check{width:1rem;height:1rem;min-height:0;padding:0;margin:0;accent-color:var(--action-primary);cursor:pointer;vertical-align:middle}
.row-check:disabled{cursor:default}
.row-disabled td{color:var(--text-muted)}
.badge-row{display:flex;gap:.375rem;flex-wrap:wrap}
.muted-badge{margin-left:.5rem}
.create-admin{margin-bottom:1.5rem}
.create-admin>summary{width:max-content;max-width:100%;list-style:none}
.create-admin>summary::-webkit-details-marker{display:none}
.create-admin[open]>summary{margin-bottom:1rem}
.create-admin-content{padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);max-width:48rem}
.section-description{font-size:.8125rem;margin:.375rem 0 1.5rem}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}
.field-hint{font-size:.6875rem;color:var(--text-secondary)}
.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;margin-top:.25rem}
.admin-identity{display:flex;flex-direction:column;gap:.125rem;min-width:0;overflow-wrap:anywhere}
.admin-identity>.secondary-text{font-size:.75rem}
.self-label{display:inline-block;margin-left:.375rem;font-size:.625rem;color:var(--text-secondary);font-weight:400}
.message{border:1px solid;border-radius:.5rem;padding:.75rem 1rem;font-size:.8125rem;margin-bottom:1.5rem;overflow-wrap:anywhere}
.message-error{background:var(--status-danger-bg);color:var(--status-danger);border-color:#e5b7b5}
.message-success{background:var(--status-success-bg);color:var(--status-success);border-color:#b5d6c2}
.message-info{background:var(--state-selected);color:var(--text-primary);border-color:#dcd6ff}
.login-body{background:var(--bg-canvas)}
.login-page{min-height:100dvh;display:grid;place-items:center;padding:3rem 1.5rem}
.login-container{width:100%;max-width:25rem}
.login-brand{margin-bottom:2.5rem}
.login-brand .brand{justify-content:center}
.login-brand .brand>span{font-size:1rem}
.login-brand .brand img{width:2.75rem;height:2.75rem}
.login-brand .brand small{font-size:.75rem}
.login-form-wrapper{padding:2rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-panel)}
.login-heading{margin-bottom:1.75rem}
.eyebrow{display:block;color:var(--text-secondary);font-size:.6875rem;margin-bottom:.625rem}
.login-heading h1{font-size:1.375rem;letter-spacing:-.03em}
.login-heading p{font-size:.8125rem;margin-top:.625rem}
.form-stack{display:flex;flex-direction:column;gap:1.25rem}
.form-stack .button{margin-top:.25rem}
.form-stack .field label{color:var(--text-primary)}
.login-footer{text-align:center;font-size:.6875rem;margin-top:1.5rem;color:var(--text-muted)}
.login-footer span{padding:0 .25rem}
.error-page{display:flex;flex-direction:column;align-items:flex-start;max-width:34rem;padding:3rem 0}
.error-code{font-size:.8125rem;font-weight:500;color:var(--action-primary);margin-bottom:.75rem}
.error-page p{margin:1rem 0 1.5rem;font-size:.875rem}
.standalone-error{min-height:100dvh;display:grid;place-items:center;padding:2rem}

@media(min-width:52.001rem){
  html,body{height:100%;overflow:hidden}
  .app-shell{height:100dvh;min-height:0;overflow:hidden}
  .sidebar{height:100dvh;min-height:0;overflow:hidden}
  .sidebar-brand,.sidebar-account{flex-shrink:0}
  .navigation{min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .workspace{height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .topbar{position:sticky;top:0;z-index:10}
}

@media(min-width:100rem){.main{padding:2.5rem 3rem}}
@media(max-width:75rem){.main{padding:1.5rem}.topbar{padding-left:1.5rem;padding-right:1.5rem}.app-shell{grid-template-columns:13.75rem minmax(0,1fr)}.sidebar-brand{padding-left:1rem;padding-right:1rem}.stats-strip>div{padding:0 1rem}.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-stats>div:nth-child(3){border-right:0}.dashboard-stats>div:nth-child(-n+3){border-bottom:1px solid var(--border-subtle)}}
@media(max-width:52rem){
  .app-shell{display:block}
  .sidebar{border-right:0;border-bottom:1px solid var(--border-subtle)}
  .sidebar-brand{padding:1rem 1.25rem .75rem}
  .sidebar .brand img{width:2rem;height:2rem}
  .sidebar-account{position:absolute;top:.875rem;right:1rem;padding:0;border:0;margin:0}
  .sidebar-account .account{display:none}
  .logout-button{margin:0;min-height:2.75rem;width:auto;padding:.5rem .625rem}
  .logout-button span{display:none}
  .navigation{flex-direction:row;padding:0 .75rem .75rem;gap:.375rem;flex-wrap:wrap}
  .nav-link{padding:.5rem .75rem;min-height:2.75rem;font-size:.8125rem}
  .nav-link svg{width:1rem;height:1rem}
  .topbar{display:none}
  .main{padding:1.5rem 1rem}
  .page-heading{margin-bottom:1.5rem;align-items:flex-start;flex-wrap:wrap;gap:.75rem}
  .page-count{font-size:.6875rem}
  .stats-strip{margin-bottom:1.5rem}
  .stats-strip>div{padding:0 .75rem}
  .stats-strip dt{font-size:.6875rem}
  .stats-strip dd{font-size:1.25rem}
  .detail-heading{align-items:center}
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-stats>div:nth-child(3){border-right:1px solid var(--border-subtle)}
  .dashboard-stats>div:nth-child(2n){border-right:0}
  .dashboard-stats>div:nth-child(-n+4){border-bottom:1px solid var(--border-subtle)}
  .attribution-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:36rem){
  h1{font-size:1.375rem}
  .page-heading p{font-size:.8125rem}
  .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:.25rem 0}
  .stats-strip>div{padding:1rem 1.25rem}
  .stats-strip>div:nth-child(2){border-right:0}
  .stats-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}
  .dashboard-stats>div{padding:1rem}
  .dashboard-stats dd{font-size:1.25rem}
  .chart-card{padding:1rem}
  .distribution-card{padding:1rem}
  .chart-heading{flex-direction:column}
  .section-heading{padding:1rem}
  .filter-form{padding:0 1rem 1rem;gap:.75rem}
  .search-field{flex:1 1 100%;width:100%}
  .filter-field{flex:1 1 100%}
  input,select,textarea{font-size:1rem;min-height:2.75rem}
  .field label{font-size:.75rem}
  .button{min-height:2.75rem}
  .filter-form>.button{flex:1}
  .table-scroll .button-small{min-height:2.75rem}
  .list-footer{padding:1rem;gap:.75rem}
  .pagination{width:100%;justify-content:space-between}
  .pagination .button{min-height:2.75rem}
  .identity-heading{gap:.75rem}
  .avatar-large{width:2.75rem;height:2.75rem}
  .detail-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}
  .detail-grid dd{font-size:.8125rem}
  .detail-section{padding:1.25rem 0}
  .admin-form{grid-template-columns:minmax(0,1fr);gap:1rem}
  .create-admin-content{padding:1rem}
  .composer-card{padding:1rem}
  .form-actions>.button{width:100%}
  .login-page{padding:2rem 1rem}
  .login-brand{margin-bottom:2rem}
  .login-form-wrapper{padding:1.5rem}
  .login-heading h1{font-size:1.25rem}
  .login-footer{font-size:.625rem}
  .message{padding:.75rem;margin-bottom:1rem}
}
@media(max-width:75rem){.notification-layout{grid-template-columns:minmax(0,1fr)}.composer-card{grid-column:1;position:static}.notification-layout>.recipients-section{grid-row:2}}
@media(prefers-reduced-motion:reduce){button,a,input,select,summary{transition:none}}
