/* Shared interaction and semantic tokens for the Amadinu workspace. */
.am-panel {
    --am-success: #225f49;
    --am-success-soft: #edf8f2;
    --am-warning: #704c12;
    --am-warning-soft: #fff7e8;
    --am-error: #9a302c;
    --am-error-soft: #fce8e7;
    --am-focus: #86313d;
    --am-radius: 12px;
    --am-control-height: 44px;
    --brand-red: var(--am-accent);
    --brand-soft: var(--am-accent-soft);
    --surface: var(--panel);
}
.am-panel .btn, .am-panel .form-control, .am-panel .form-select { min-height: var(--am-control-height); }
.am-panel .form-control, .am-panel .form-select { font-size: 15px; }
.am-panel :is(select, textarea):focus-visible { outline: 2px solid var(--am-focus); outline-offset: 3px; }
.am-panel .att-note, .am-panel .att-state, .am-panel .att-filter label, .am-panel .att-form label { font-size: 13px; }
.am-eyebrow { display: block; color: var(--muted); font-size: 13px; font-weight: 600; margin-block-end: 4px; }
.am-panel .personal-attendance { border-radius: var(--am-radius); }
.am-panel .personal-attendance-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.am-panel .personal-attendance-status { background: var(--am-warning-soft); color: var(--am-warning); }
.am-panel .personal-attendance-status.is-present { background: var(--am-success-soft); color: var(--am-success); }
.am-panel .att-state.approved { background: var(--am-success-soft); color: var(--am-success); }
.am-panel .att-state.rejected { background: var(--am-error-soft); color: var(--am-error); }
.am-balance-details { font-size: 13px; width: 100%; }
.am-balance-details summary { cursor: pointer; color: var(--am-accent); min-height: 44px; padding-block: 10px; }
.am-balance-details dl { margin: 8px 0; }
.am-balance-details dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-block: 4px; }
.am-balance-details dd { margin: 0; font-variant-numeric: tabular-nums; }
.am-panel .am-balance-details p { font-size: 13px; color: var(--muted); }
.am-person-actions { display: flex; flex-wrap: wrap; gap: 8px; min-width: 220px; align-items: flex-start; }
.am-more-actions { flex-basis: 100%; }
.am-more-actions summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; cursor: pointer; border: 1px solid var(--line); border-radius: 6px; }
.am-more-actions summary::after { content: '⌄'; }
.am-more-actions[open] summary::after { content: '⌃'; }
.am-more-actions nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; padding-block: 8px; }
.am-more-actions nav .btn { width: 100%; text-align: start; color: var(--am-accent); background: var(--am-accent-soft); }
.am-request-views, .am-page-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.am-request-views { padding-block: 8px; }
.am-view-button { border: 1px solid var(--line); background: var(--panel); color: var(--ink); }
.am-view-button span { display: inline-block; margin-inline-start: 8px; font-variant-numeric: tabular-nums; }
.am-view-button[aria-current="page"] { border-color: var(--am-accent); background: var(--am-accent-soft); color: #86313d; font-weight: 700; box-shadow: inset 0 -3px var(--am-accent); }
.am-request-preview { padding: 16px; background: var(--bg); border-inline-start: 3px solid var(--am-accent); border-radius: 6px; line-height: 1.9; }
.am-request-preview strong { display: block; }
.am-pagination { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; margin-block: 20px; }
.am-pagination p { margin: 0; font-size: 13px; }
.am-page-controls .form-select { width: auto; }
.am-page-controls label { font-size: 13px; }
.am-auth { max-width: 440px; margin: 0 auto; padding: 32px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.am-auth h1 { font-size: 26px; font-weight: 800; line-height: 1.7; }
.am-auth p { color: var(--muted); margin-block: 16px 24px; }
.am-auth form { display: grid; gap: 12px; margin-top: 24px; }
.am-auth small { color: var(--muted); font-size: 13px; line-height: 1.8; }
.am-auth .btn { width: 100%; }
.am-auth .am-resend { border-top: 1px solid var(--line); padding-top: 20px; }
.am-auth a { color: var(--am-accent); text-underline-offset: 4px; }
.am-auth .am-otp-input { font-size: 24px; letter-spacing: .3em; }
.am-error-summary { padding: 16px; margin-bottom: 16px; color: var(--am-error); background: var(--am-error-soft); border-inline-start: 3px solid currentColor; border-radius: 6px; }
.att-form > .am-error-summary { flex-basis: 100%; }
.am-request-note summary { min-height: 44px; padding-block: 10px; cursor: pointer; color: var(--am-accent); font-size: 13px; }
.am-request-note p { margin: 0; overflow-wrap: anywhere; }
.am-error-summary ul { padding-inline-start: 20px; margin: 0; }
.am-error-summary a { color: inherit; text-decoration: underline; }
.am-field-error { display: block; color: var(--am-error); font-size: 13px; margin-block: 6px 0; }
.am-panel [aria-invalid="true"] { border-color: var(--am-error); }
.am-panel [aria-busy="true"] { cursor: progress; }
.am-panel .am-busy-status { display: block; width: 100%; color: var(--muted); font-size: 13px; margin-top: 8px; }
.am-panel .att-reference-icon, .am-panel .att-reference-day-delete { min-width: 44px; min-height: 44px; }
.am-panel .att-reference-search { min-height: 44px; }
@media (max-width: 1000px) {
    .am-panel .personal-attendance-metrics { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .am-auth { padding: 24px 20px; }
    .am-panel.am-guest .amadinu-main { padding-top: 32px; }
    .am-panel .personal-attendance-head { flex-wrap: wrap; }
    .am-request-views > form { flex: 1 1 100%; }
    .am-request-views .btn { width: 100%; display: flex; justify-content: space-between; }
    .am-request-table { border: 0; background: transparent; overflow: visible; }
    .am-request-table table, .am-request-table tbody { display: block; }
    .am-request-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .am-request-table tr { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 16px; margin-bottom: 12px; }
    .am-panel .am-request-table td { display: block; min-width: 0; padding: 8px; border: 0; background: transparent; color: var(--ink); overflow-wrap: anywhere; }
    .am-request-table td::before { content: attr(data-label); display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; }
    .am-request-table td[data-label="درخواست"], .am-request-table td[data-label="بازه"], .am-request-table td[data-label="بررسی"], .am-request-table td[colspan] { grid-column: 1 / -1; }
    .am-request-table td[data-label="درخواست"] small { max-height: 5.4em; overflow: auto; max-width: none; }
    .am-pagination { align-items: stretch; }
    .am-page-controls { width: 100%; }
    .am-page-controls > form { flex: 1 1 auto; }
    .am-page-controls .btn { width: 100%; }
    .am-panel .form-control, .am-panel .form-select { font-size: 16px; }
}
@media print {
    .am-request-views, .am-pagination, .am-person-actions { display: none; }
    .am-request-table tr { display: table-row; }
    .am-request-table td { display: table-cell; }
    .am-request-table td::before { content: none; }
}

.am-page-controls > .select-control { width: 92px; }
.am-panel .select-control-option { min-height: 44px; }
