/* Réplica do PDA React Native — pda/app/(tabs)/session/index.jsx + PrepStartPanel. */

html:has(.pda-frame),
html:has(.pda-frame) body,
.pda-frame,
.pda-frame * {
    font-family: system-ui, -apple-system, "Roboto", sans-serif !important;
    font-synthesis: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
}

.pda-frame {
    position: relative;
    box-sizing: border-box;
    padding-top: var(--pda-top, max(36px, env(safe-area-inset-top, 0px)));
    padding-bottom: var(--pda-bottom, env(safe-area-inset-bottom, 0px));
    background: #f5f7f6 !important;
}
.pda-frame.pda-gate-open .dev-body {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
}

.pda-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 16px 12px;
    margin: 0;
    background: #f5f7f6;
}

.pda-brand {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pda-target {
    margin: 2px 0 0;
    color: #0a0a0a;
    font-size: 20px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pda-target.muted {
    color: #64748b;
    font-size: 18px;
}

.pda-target-sub {
    margin: 1px 0 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pda-op { text-align: right; }
.pda-op strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #0a0a0a;
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pda-op small {
    display: block;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #0a0a0a;
}

.pda-frame .dev-body.pda-body-session {
    display: block;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
    padding: 0 16px 24px !important;
}

.pda-session {
    display: block;
    padding-bottom: 16px;
}

.pda-session-top { display: block; }

.pda-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #d0ddd8;
    border-radius: 8px;
    padding: 10px;
    margin: 0 0 10px;
}

.pda-pill-text {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    color: #0a0a0a;
}

.pda-pill-back,
.pda-pill-switch,
.pda-reconnect,
.pda-frame button.pda-pill-back,
.pda-frame button.pda-pill-switch,
.pda-frame button.pda-reconnect {
    width: auto !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    border-radius: 6px !important;
    background: #e8f0ed !important;
    color: #004030 !important;
    border: 1px solid #d0ddd8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.pda-pill-switch,
.pda-frame button.pda-pill-switch {
    padding: 5px 12px !important;
}

.pda-reconnect,
.pda-frame button.pda-reconnect {
    padding: 6px 12px !important;
    background: #fff !important;
    font-weight: 700 !important;
}

.pda-close-prep,
.pda-frame button.pda-close-prep {
    display: block;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #004030 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-align: center;
}

.pda-close-prep:disabled { opacity: 0.6; }

.pda-add-cons,
.pda-frame button.pda-add-cons {
    display: block;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 12px 24px !important;
    border: 1px solid #004030 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-align: center;
}

.pda-confirm {
    background: #fff;
    border: 1px solid #d0ddd8;
    border-radius: 10px;
    padding: 12px;
    margin: 0 0 10px;
}

.pda-confirm-row,
.pda-frame button.pda-confirm-row {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100% !important;
    text-align: left;
    margin: 0 0 8px !important;
    padding: 12px !important;
    border-radius: 8px !important;
    border: 1px solid #d0ddd8 !important;
    background: #fff !important;
    color: inherit !important;
}

.pda-confirm-dot {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid #b8cbc3;
    background: #fff;
}

.pda-confirm-row.on {
    border-color: #059669 !important;
    background: rgba(5, 150, 105, 0.08) !important;
}

.pda-confirm-row.on .pda-confirm-dot {
    border-color: #059669;
    background: #059669;
    box-shadow: inset 0 0 0 3px #fff;
}

.pda-confirm-text { flex: 1; min-width: 0; }

.pda-confirm-row strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #0a0a0a;
}

.pda-confirm-row small {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.pda-section {
    margin: 4px 0 6px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: none;
    flex-shrink: 0;
}

.pda-empty {
    color: #64748b;
    font-style: italic;
    padding: 8px 0;
    margin: 0;
    font-weight: 400;
}

.pda-muted-link,
.pda-frame button.pda-muted-link {
    display: block;
    width: auto !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: left;
    text-decoration: none !important;
}

.pda-live {
    margin: 0 0 6px;
}

.pda-scans {
    margin: 0 0 8px;
}

.pda-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: #fff;
    border: 1px solid #d0ddd8;
    border-radius: 8px;
    padding: 10px 12px;
    margin: 0 0 6px;
}

.pda-item-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    margin-right: 8px;
}

.pda-item-main strong {
    font-size: 14px;
    font-weight: 600;
    color: #0a0a0a;
}

.pda-item-serial {
    font-size: 13px;
    font-weight: 700;
    color: #0a0a0a;
    margin-top: 2px;
}

.pda-item-main small {
    font-size: 12px;
    font-weight: 400;
    color: #64748b;
    margin-top: 2px;
}

.pda-tirar,
.pda-frame button.pda-tirar {
    width: auto !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    background: rgba(200, 30, 30, 0.12) !important;
    color: #c81e1e !important;
    border: 1px solid rgba(200, 30, 30, 0.35) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.pda-feed {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 10px;
    border-bottom: 1px solid #d0ddd8;
    gap: 8px;
}

.pda-feed span {
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 12px;
    color: #3d4f48;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pda-feed b {
    font-size: 11px;
    color: #64748b;
    font-weight: 700;
    flex-shrink: 0;
}

.pda-feed b.ok { color: #059669; }
.pda-feed b.warn { color: #d97706; }
.pda-feed b.err { color: #dc2626; }

.pda-rfid {
    display: flex;
    align-items: center;
    margin: 0 0 14px;
    padding: 0;
    background: none;
}

.pda-rfid > span:last-of-type {
    flex: 1;
    margin-left: 8px;
    color: #64748b;
    font-size: 12px;
    font-weight: 400;
}

.pda-rfid-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #dc2626;
    flex-shrink: 0;
}

.pda-rfid-dot.on { background: #059669; }

.pda-manual {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0 0 12px;
}

.pda-manual input,
.pda-frame .pda-manual input {
    flex: 1;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #d0ddd8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

.pda-ler,
.pda-frame button.pda-ler {
    width: auto !important;
    margin: 0 !important;
    background: #004030 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.pda-cons-search,
.pda-frame .pda-cons-search {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0 0 8px;
    padding: 0 12px;
    border: 1px solid #d0ddd8;
    border-radius: 10px;
    background: #fff;
}

.pda-home {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.pda-home-list { flex: 1; }

.pda-session-row,
.pda-frame button.pda-session-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100%;
    text-align: left;
    gap: 8px;
    background: #fff !important;
    border: 1px solid #d0ddd8 !important;
    border-left: 3px solid #004030 !important;
    border-radius: 10px !important;
    padding: 14px !important;
    margin: 0 0 8px !important;
    color: inherit !important;
}

.pda-session-row-main { flex: 1; min-width: 0; }
.pda-session-row-main strong {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #0a0a0a;
}
.pda-session-row-main small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #3d4f48;
    margin-top: 2px;
}
.pda-session-row-go {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    flex-shrink: 0;
}

.pda-start,
.pda-frame button.pda-start {
    display: block;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 14px 24px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #004030 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-align: center;
}

.pda-start-compact,
.pda-frame button.pda-start-compact {
    margin: 0 0 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
}

.pda-modes {
    display: flex;
    gap: 4px;
    margin: 12px 0 8px;
    padding: 4px;
    background: #fff;
    border: 1px solid #d0ddd8;
    border-radius: 10px;
}

.pda-mode,
.pda-frame button.pda-mode {
    flex: 1;
    padding: 9px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.pda-mode.active,
.pda-frame button.pda-mode.active {
    background: #004030 !important;
    color: #fff !important;
}

.pda-prep-start { width: 100%; margin-top: 10px; }
.pda-prep-label {
    margin: 0 0 6px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}
.pda-prep-input,
.pda-frame .pda-prep-input {
    display: block;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 10px 12px !important;
    border: 1px solid #d0ddd8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    font-size: 15px !important;
}
.pda-prep-div {
    border: 0;
    border-top: 1px solid #d0ddd8;
    margin: 14px 0;
}
.pda-prep-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pda-prep-head .pda-section { margin: 0; }
.pda-prep-link,
.pda-frame button.pda-prep-link {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    color: #004030 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
.pda-prep-search,
.pda-frame .pda-prep-search {
    display: block;
    width: 100% !important;
    min-height: 0 !important;
    margin: 8px 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #d0ddd8 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    font-size: 13px !important;
}
.pda-kit-row,
.pda-frame button.pda-kit-row {
    display: flex !important;
    align-items: center !important;
    width: 100%;
    text-align: left;
    gap: 8px;
    background: #fff !important;
    border: 1px solid #d0ddd8 !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin: 0 0 6px !important;
    color: inherit !important;
}
.pda-kit-main { flex: 1; min-width: 0; }
.pda-kit-main strong {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: #0a0a0a;
}
.pda-kit-main small.draft {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: #d97706;
    margin-top: 2px;
}
.pda-kit-go {
    color: #64748b;
    font-size: 20px;
    font-weight: 800;
}

.pda-tabs {
    display: flex;
    border-top: 1px solid #d0ddd8;
    background: #fff;
    flex-shrink: 0;
}
.pda-tabs button {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    border: 0;
    background: #fff;
    padding: 8px 6px 10px;
    font-size: 10px;
    font-weight: 700;
    color: #64748b;
}
.pda-tabs button.active { color: #004030; }
.pda-tabs svg {
    width: 22px;
    height: 22px;
    display: block;
}

.pda-dir {
    margin: 0 0 2px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}
.pda-dir.out { color: #dc2626; }
.pda-dir.in { color: #059669; }
.pda-list-title {
    margin: 0 0 8px;
    color: #0a0a0a;
    font-size: 16px;
    font-weight: 800;
}
.pda-pickup-list,
.pda-pickup {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.pda-pickup-scroll { flex: 1; }
.pda-empty.center { text-align: center; padding: 16px 0; }
.pda-search-clear,
.pda-frame button.pda-search-clear {
    width: auto !important;
    margin: 0 !important;
    padding: 4px !important;
    background: none !important;
    border: 0 !important;
    color: #64748b !important;
    font-size: 16px !important;
}
.pda-kit-in,
.pda-frame button.pda-kit-in,
.pda-kit-out,
.pda-frame button.pda-kit-out {
    pointer-events: auto !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    width: 100%;
    text-align: left;
    gap: 8px;
    background: #fff !important;
    border: 1px solid #d0ddd8 !important;
    border-left: 3px solid #dc2626 !important;
    border-radius: 10px !important;
    padding: 14px !important;
    margin: 0 0 8px !important;
    color: inherit !important;
}
.pda-kit-in,
.pda-frame button.pda-kit-in {
    border-left-color: #059669 !important;
}
.pda-kit-main { flex: 1; min-width: 0; }
.pda-kit-main strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: #0a0a0a;
}
.pda-kit-main small {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}
.pda-kit-main small.warn { color: #d97706; font-weight: 800; font-size: 11px; }
.pda-session-row-main small.ok { color: #059669; font-weight: 800; letter-spacing: 1px; }
.pda-session-row-main small.warn { color: #d97706; font-weight: 800; }
.pda-list-foot { display: flex; gap: 8px; margin-top: 8px; }
.pda-foot-ghost,
.pda-frame button.pda-foot-ghost,
.pda-foot-primary,
.pda-frame button.pda-foot-primary {
    flex: 1;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}
.pda-foot-ghost,
.pda-frame button.pda-foot-ghost {
    background: #fff !important;
    color: #004030 !important;
    border: 1px solid #d0ddd8 !important;
}
.pda-foot-primary,
.pda-frame button.pda-foot-primary {
    background: #004030 !important;
    color: #fff !important;
    border: 0 !important;
}

.pda-gate-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 12px;
    padding-top: 16px;
}
.pda-sair,
.pda-frame button.pda-sair {
    width: auto !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #004030 !important;
    border: 1px solid #d0ddd8 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}
.pda-gate-err {
    color: #dc2626;
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 8px;
}
.pda-banner-out {
    background: #059669;
    color: #fff;
    border-radius: 10px;
    padding: 14px;
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 3px;
    margin: 0 0 10px;
}
.pda-muted-link.tight { margin: 0 0 8px !important; }
.pda-steps {
    display: flex;
    justify-content: space-between;
    margin: 12px 0;
    padding: 0 4px;
}
.pda-step { flex: 1; text-align: center; }
.pda-step-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid #d0ddd8;
    background: #fff;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}
.pda-step-dot.done { border-color: #004030; background: #004030; color: #fff; }
.pda-step-dot.now { border-color: #004030; background: #f5f7f6; color: #004030; }
.pda-step-label {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
}
.pda-step-label.on { color: #004030; }
.pda-select-head {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 4px 0;
}
.pda-select-head > div { flex: 1; min-width: 0; }
.pda-hint {
    margin: 0 0 8px;
    color: #64748b;
    font-size: 12px;
    font-weight: 400;
}
.pda-select-all,
.pda-frame button.pda-select-all {
    width: auto !important;
    margin: 2px 0 0 !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    border: 1px solid #d0ddd8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
.pda-select-all:disabled { opacity: 0.45; }
.pda-check-row,
.pda-frame button.pda-check-row {
    display: flex !important;
    align-items: center;
    gap: 10px;
    width: 100% !important;
    text-align: left;
    margin: 0 0 6px !important;
    padding: 11px 12px !important;
    border-radius: 8px !important;
    border: 1px solid #d0ddd8 !important;
    background: #fff !important;
    color: inherit !important;
}
.pda-check-row.on { border-color: #059669 !important; }
.pda-check-row.done { opacity: 0.65; }
.pda-check-dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #e8f0ed;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pda-check-dot.on { background: #059669; }
.pda-check-text { flex: 1; min-width: 0; }
.pda-check-text strong { display: block; font-size: 14px; font-weight: 600; color: #0a0a0a; }
.pda-check-text small { display: block; font-size: 12px; color: #64748b; margin-top: 1px; }
.pda-obs,
.pda-frame textarea.pda-obs {
    display: block;
    width: 100%;
    min-height: 72px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #d0ddd8;
    border-radius: 10px;
    background: #fff;
    color: #0a0a0a;
    font-size: 14px;
}
.pda-confirm-out,
.pda-frame button.pda-confirm-out {
    display: block;
    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #004030 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-align: center;
}
.pda-confirm-out.off,
.pda-frame button.pda-confirm-out.off { opacity: 0.4; }

.pda-dupla { margin-top: 8px; }
.pda-dupla-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.pda-dupla-head .pda-section { margin: 0; }
.pda-dupla-count { color: #004030; font-size: 12px; font-weight: 800; }
.pda-sign-row {
    background: #fff;
    border: 1px solid #d0ddd8;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 0 0 8px;
}
.pda-sign-row.on { border-color: #004030; background: #e8f0ed; }
.pda-sign-row.done { border-color: #059669; }
.pda-sign-row > strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #0a0a0a;
    margin-bottom: 10px;
}
.pda-sign-done { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.pda-sign-ok {
    width: 32px; height: 32px; border-radius: 50%;
    background: #059669; color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800;
}
.pda-sign-done strong { display: block; font-size: 14px; font-weight: 700; color: #0a0a0a; }
.pda-sign-done small { display: block; font-size: 13px; font-weight: 700; color: #059669; margin-top: 2px; }
.pda-sign-fields { display: flex; gap: 6px; overflow: auto; }
.pda-sign-fields span {
    background: #f0f4f2; border: 1px solid #d0ddd8; border-radius: 6px;
    padding: 4px 8px; font-size: 12px; font-weight: 700; white-space: nowrap;
}
.pda-sign-fields small { display: block; font-size: 9px; font-weight: 700; color: #64748b; text-transform: uppercase; }
.pda-sign-acts { display: flex; gap: 10px; }
.pda-sign-acts button,
.pda-frame .pda-sign-acts button {
    flex: 1;
    margin: 0 !important;
    padding: 11px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #004030 !important;
    border: 1px solid #004030 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
.pda-sign-acts button.on,
.pda-frame .pda-sign-acts button.on {
    background: #004030 !important;
    color: #fff !important;
}

html:has(.pda-sheet),
body:has(.pda-sheet),
.device-root:has(.pda-sheet),
.pda-frame:has(.pda-sheet),
.pda-frame:has(.pda-sheet) .dev-body {
    overflow: hidden !important;
}
.pda-sheet {
    position: fixed !important;
    inset: 0 !important;
    z-index: 80;
    display: flex;
    align-items: flex-end;
    justify-content: stretch;
    pointer-events: none;
}
.pda-sheet-bg,
.pda-frame button.pda-sheet-bg {
    position: absolute;
    inset: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    width: auto !important;
    background: rgba(0, 0, 0, 0.5) !important;
    pointer-events: auto;
}
.pda-sheet-card {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: 100%;
    max-height: 72vh;
    overflow: auto;
    background: #f5f7f6;
    border-radius: 16px 16px 0 0;
    padding: 14px 16px 20px;
}
.pda-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 10px;
}
.pda-sheet-head b { flex: 1; font-size: 16px; font-weight: 800; color: #0a0a0a; }
.pda-sheet-x,
.pda-frame button.pda-sheet-x,
.pda-sheet-back,
.pda-frame button.pda-sheet-back {
    width: auto !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    background: none !important;
    border: 0 !important;
    color: #64748b !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
.pda-sheet-back,
.pda-frame button.pda-sheet-back {
    color: #004030 !important;
    font-size: 14px !important;
}
.pda-sheet-search {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #d0ddd8;
    border-radius: 8px;
    padding: 0 10px;
    margin: 0 0 8px;
}
.pda-sheet-search input {
    flex: 1;
    border: 0 !important;
    margin: 0 !important;
    min-height: 40px !important;
    background: transparent !important;
    font-size: 14px !important;
}
.pda-sheet-list { max-height: 280px; overflow: auto; }
.pda-user-row,
.pda-frame button.pda-user-row {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100% !important;
    text-align: left;
    margin: 0 !important;
    padding: 14px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid #d0ddd8 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}
.pda-av {
    width: 40px; height: 40px; border-radius: 50%;
    background: #004030; color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 800; flex-shrink: 0;
}
.pda-av.lg { width: 44px; height: 44px; font-size: 18px; }
.pda-user-info { flex: 1; min-width: 0; }
.pda-user-info b { display: block; font-size: 16px; font-weight: 700; color: #0a0a0a; }
.pda-user-info span { display: block; font-size: 12px; color: #64748b; margin-top: 2px; }
.pda-user-go { color: #64748b; font-size: 18px; font-weight: 800; }
.pda-sheet-cancel,
.pda-frame button.pda-sheet-cancel {
    display: block;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 12px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #64748b !important;
    border: 1px solid #d0ddd8 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}
.pda-who {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    margin: 0 0 14px;
}
.pda-who b { display: block; font-size: 16px; font-weight: 800; color: #0a0a0a; }
.pda-who span span { display: block; font-size: 12px; color: #64748b; margin-top: 2px; }

.pda-frame .stn-dots,
.pda-frame .pda-pin-dots,
.pda-pin-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 40px !important;
    padding: 12px 0 8px !important;
    visibility: visible !important;
}
.pda-frame .stn-dot-pin,
.pda-frame .pda-pin-dot,
.pda-pin-dot {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    border: 2px solid #64748b !important;
    background: transparent !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
}
.pda-frame .stn-dot-pin.on,
.pda-frame .pda-pin-dot.on,
.pda-pin-dot.on {
    background: #004030 !important;
    border-color: #004030 !important;
}
.pda-pin-hint {
    text-align: center;
    font-size: 11px;
    color: #64748b;
    margin: 0 0 8px;
}

.pda-frame.dark { background: #0f1412 !important; }
.pda-frame.dark .pda-head,
.pda-frame.dark .pda-tabs { background: #0f1412; border-color: #2d3834; }
.pda-frame.dark .pda-target,
.pda-frame.dark .pda-op strong,
.pda-frame.dark .pda-op small,
.pda-frame.dark .pda-pill-text,
.pda-frame.dark .pda-item-main strong { color: #f8fafc; }
.pda-frame.dark .pda-pill,
.pda-frame.dark .pda-item,
.pda-frame.dark .pda-session-row,
.pda-frame.dark .pda-kit-row { background: #1a2420 !important; border-color: #2d3834 !important; }

.pda-frame .dev-body:not(.pda-body-session):not(:has(.pda-login)) {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.pda-menu {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    min-height: 100%;
    gap: 12px;
}
.pda-menu-foot { margin-top: auto; padding-top: 8px; }
.pda-logout-ask {
    margin: 0 0 8px;
    color: #0a0a0a;
    font-size: 14px;
    font-weight: 700;
}
.pda-menu-actions { display: flex; gap: 8px; }
.pda-menu-actions > button { flex: 1; }
.pda-frame button.pda-logout,
.pda-frame button.pda-logout-cancel {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 12px 16px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    transform: none !important;
    opacity: 1 !important;
}
.pda-frame button.pda-logout {
    border: 1px solid #b91c1c !important;
    background: #fef2f2 !important;
    color: #b91c1c !important;
}
.pda-frame button.pda-logout-cancel {
    border: 1px solid #d0ddd8 !important;
    background: #fff !important;
    color: #0a0a0a !important;
}
.pda-frame .stn-err {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 12px 14px;
    font-weight: 700;
}
.pda-theme-card .mode-row { margin-bottom: 0; }

.pda-frame.dark .pda-row,
.pda-frame.dark .dev-card,
.pda-frame.dark .pda-card,
.pda-frame.dark .pda-search,
.pda-frame.dark .pda-modes {
    background: #1a2420 !important;
    border-color: #2d3834 !important;
    color: #f8fafc;
}
.pda-frame.dark .pda-row-main strong,
.pda-frame.dark .dev-title,
.pda-frame.dark .pda-card-title,
.pda-frame.dark .pda-label,
.pda-frame.dark .stn-field-label,
.pda-frame.dark .pda-logout-ask,
.pda-frame.dark .pda-session-row-main strong,
.pda-frame.dark .pda-kit-main strong {
    color: #f8fafc !important;
}
.pda-frame.dark .pda-row-main small,
.pda-frame.dark .pda-brand,
.pda-frame.dark .pda-target.muted,
.pda-frame.dark .pda-session-row-main small,
.pda-frame.dark .pda-empty,
.pda-frame.dark .muted {
    color: #94a3b8 !important;
}
.pda-frame.dark .mode-row { background: #0f1412 !important; border-color: #2d3834 !important; }
.pda-frame.dark .mode-tab,
.pda-frame.dark button.pda-mode { color: #cbd5e1 !important; }
.pda-frame.dark .mode-tab.active,
.pda-frame.dark button.pda-mode.active { background: #2d8a6e !important; color: #fff !important; }
.pda-frame.dark .pda-tabs button { background: #0f1412; }
.pda-frame.dark .pda-card input,
.pda-frame.dark .dev-card input,
.pda-frame.dark .pda-prep-input,
.pda-frame.dark .pda-search input {
    background: #232e2a !important;
    color: #f8fafc !important;
    border-color: #2d3834 !important;
}
.pda-frame.dark .pda-nfc,
.pda-frame.dark .pda-eyebrow { color: #94a3b8 !important; }
.pda-frame.dark .pda-nfc {
    background: #232e2a !important;
    border-color: #2d3834 !important;
}
.pda-frame.dark button.pda-forgot,
.pda-frame.dark .pda-eyebrow { color: #3da882 !important; }
.pda-frame.dark .stn-err {
    background: rgba(239, 68, 68, 0.16) !important;
    color: #fecaca !important;
    border-color: rgba(239, 68, 68, 0.45);
}
.pda-frame.dark button.pda-logout {
    background: rgba(239, 68, 68, 0.16) !important;
    border-color: #fca5a5 !important;
    color: #fecaca !important;
}
.pda-frame.dark button.pda-logout-cancel {
    background: #1a2420 !important;
    border-color: #2d3834 !important;
    color: #f8fafc !important;
}
.pda-frame.dark .dev-msg {
    background: rgba(45, 138, 110, 0.18);
    color: #a7f3d0;
}

.pda-row,
.pda-frame button.pda-row,
.pda-frame .pda-row {
    display: flex !important;
    align-items: center;
    width: 100%;
    text-align: left;
    gap: 8px;
    background: #fff !important;
    border: 1px solid #d0ddd8 !important;
    border-left: 3px solid #004030 !important;
    border-radius: 10px !important;
    padding: 14px !important;
    margin: 0 0 8px !important;
    color: #0a0a0a !important;
    box-shadow: none !important;
}
.pda-row-main { flex: 1; min-width: 0; }
.pda-row-main strong {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #0a0a0a;
}
.pda-row-main small {
    display: block;
    font-size: 12px;
    color: #3d4f48;
    margin-top: 2px;
}
.pda-row-go {
    color: #64748b;
    font-size: 20px;
    font-weight: 800;
    flex-shrink: 0;
}

.pda-frame .pda-gate .dev-card > .dev-row,
.pda-frame .pda-gate > .dev-row {
    display: flex !important;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin: 8px 0;
}
.pda-frame button.gnr-btn {
    background: #004030 !important;
    color: #fff !important;
    border: 0 !important;
    min-height: 44px;
    border-radius: 10px !important;
    padding: 10px 16px !important;
    font-weight: 800 !important;
}
.pda-frame button.gnr-btn.ghost {
    background: #fff !important;
    color: #0a0a0a !important;
    border: 1px solid #d0ddd8 !important;
}
.pda-frame button.stn-link {
    background: transparent !important;
    color: #004030 !important;
    border: 0 !important;
    font-weight: 800 !important;
    width: auto;
    padding: 8px 0 !important;
}
.pda-frame .check {
    color: #0a0a0a;
    font-weight: 700;
    margin: 0 0 12px;
}

.pda-frame.dark button.pda-session-row,
.pda-frame.dark button.pda-row,
.pda-frame.dark .pda-row {
    background: #1a2420 !important;
    border-color: #2d3834 !important;
    border-left-color: #2d8a6e !important;
    color: #f8fafc !important;
}
.pda-frame.dark button.pda-kit-out { border-left-color: #dc2626 !important; }
.pda-frame.dark button.pda-kit-in { border-left-color: #059669 !important; }
.pda-frame.dark .pda-row-main strong,
.pda-frame.dark .pda-kit-main strong,
.pda-frame.dark .pda-list-title,
.pda-frame.dark .check {
    color: #f8fafc !important;
}
.pda-frame.dark .pda-row-main small,
.pda-frame.dark .pda-row-go,
.pda-frame.dark .pda-session-row-go,
.pda-frame.dark .pda-kit-main small,
.pda-frame.dark .pda-section,
.pda-frame.dark .dev-sub {
    color: #94a3b8 !important;
}
.pda-frame.dark .pda-tabs button.active { color: #3da882 !important; }
.pda-frame.dark button.gnr-btn { background: #2d8a6e !important; color: #fff !important; }
.pda-frame.dark button.gnr-btn.ghost,
.pda-frame.dark button.pda-foot-ghost,
.pda-frame.dark button.pda-sair {
    background: #1a2420 !important;
    color: #f8fafc !important;
    border-color: #2d3834 !important;
}
.pda-frame.dark button.stn-link { color: #3da882 !important; }
.pda-frame.dark input:not([type="checkbox"]):not([type="radio"]),
.pda-frame.dark textarea,
.pda-frame.dark select {
    background: #232e2a !important;
    color: #f8fafc !important;
    border-color: #2d3834 !important;
}

.pda-frame button.pda-inactive {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border: 1px solid #d0ddd8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: left;
}
.pda-inactive-box {
    width: 22px;
    height: 22px;
    border: 2px solid #64748b;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #fff;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}
.pda-inactive.on .pda-inactive-box {
    background: #004030;
    border-color: #004030;
}
.pda-frame.dark button.pda-inactive {
    background: #1a2420 !important;
    color: #f8fafc !important;
    border-color: #2d3834 !important;
}
.pda-frame.dark .pda-inactive-box {
    background: transparent;
    border-color: #94a3b8;
}
.pda-frame.dark .pda-inactive.on .pda-inactive-box {
    background: #2d8a6e;
    border-color: #2d8a6e;
}

.pda-notice {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(8, 14, 12, 0.62);
}
.pda-notice-card {
    position: relative;
    width: min(100%, 360px);
    padding: 22px 20px 18px;
    border: 1px solid #d0ddd8;
    border-radius: 16px;
    background: #fff;
    color: #0a0a0a;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}
.pda-notice-card h2 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
}
.pda-notice-card p { margin: 0; font-size: 14px; line-height: 1.45; color: #3d4f48; }
.pda-notice-kicker {
    margin: 0 0 6px !important;
    color: #004030 !important;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.pda-frame button.pda-notice-x {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px !important;
    height: 36px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d0ddd8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0a0a0a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}
.pda-frame.dark .pda-notice-card {
    background: #1a2420;
    color: #f8fafc;
    border-color: #2d3834;
}
.pda-frame.dark .pda-notice-card p,
.pda-frame.dark .pda-notice-kicker { color: #94a3b8 !important; }
.pda-frame.dark .pda-notice-card h2 { color: #f8fafc; }
.pda-frame.dark button.pda-notice-x {
    background: #232e2a !important;
    color: #f8fafc !important;
    border-color: #2d3834 !important;
}

.pda-tag-listen {
    margin: 12px 0;
    padding: 16px;
    border: 1px solid #d0ddd8;
    border-radius: 14px;
    background: #fff;
}
.pda-tag-kicker {
    margin: 14px 0 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}
.pda-tag-listen .pda-tag-kicker { margin-top: 0; }
.pda-tag-listen strong {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    color: #004030;
    word-break: break-all;
}
.pda-tag-listen p {
    margin: 6px 0 0;
    color: #3d4f48;
    font-size: 14px;
    line-height: 1.4;
}
.pda-frame button.pda-tag-go {
    width: 100%;
    margin-top: 14px;
}
.pda-tag-listen input {
    width: 100%;
    margin-top: 10px;
    box-sizing: border-box;
}
.pda-tag-wait {
    margin: 4px 0 12px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.4;
}
.pda-frame button.pda-row.is-current {
    background: #e7f3ee !important;
    border-color: #004030 !important;
}
.pda-frame button.pda-row.is-current .pda-row-go {
    font-size: 12px;
    font-weight: 800;
    color: #004030;
}
.pda-tag-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
}
.pda-tag-actions .stn-link { padding: 4px 0 !important; }
.pda-frame.dark .pda-tag-listen {
    background: #1a2420;
    border-color: #2d3834;
}
.pda-frame.dark .pda-tag-listen strong { color: #f8fafc; }
.pda-frame.dark .pda-tag-listen p,
.pda-frame.dark .pda-tag-kicker,
.pda-frame.dark .pda-tag-wait { color: #94a3b8; }
.pda-frame.dark button.pda-row.is-current {
    background: #24352f !important;
    border-color: #2d8a6e !important;
}
.pda-frame.dark button.pda-row.is-current .pda-row-go { color: #a7f3d0; }
.pda-frame form.pda-card { margin: 0; }
