:root {
    --request-navy: #0b1f3a;
    --request-blue: #2563eb;
    --request-gold: #d4af37;
    --request-bg: #f3f6fa;
    --request-border: #dbe3ed;
    --request-muted: #64748b;
    --request-danger: #b42318;
}

.request-public-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, .14), transparent 32rem),
        linear-gradient(180deg, #eef4fb 0, var(--request-bg) 28rem);
}

.request-public-shell {
    width: min(1040px, calc(100% - 32px));
    margin: 0 auto;
    padding: 36px 0 64px;
}

.request-form-trap {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.request-public-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: start;
    margin-bottom: 22px;
}

.request-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--request-navy);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.request-brand-mark {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--request-navy), var(--request-blue));
    box-shadow: 0 10px 24px rgba(11, 31, 58, .2);
}
.request-brand-mark .app-icon { width: 24px; height: 24px; }

.request-public-header h1 {
    margin: 18px 0 4px;
    color: var(--request-navy);
    font-size: clamp(28px, 5vw, 44px);
    line-height: 1;
    letter-spacing: -.04em;
}

.request-subtitle {
    margin: 0;
    color: #31537a;
    font-size: 16px;
    font-weight: 700;
}

.request-doc-control {
    padding: 11px 14px;
    border: 1px solid rgba(11, 31, 58, .16);
    border-radius: 12px;
    color: var(--request-navy);
    background: rgba(255, 255, 255, .74);
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}

.request-instructions {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-left: 4px solid var(--request-gold);
    border-radius: 0 12px 12px 0;
    color: #334155;
    background: #fff;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .05);
    font-size: 14px;
}
.request-instructions > strong { display:block;margin-bottom:7px;color:var(--request-navy); }
.request-instructions ol { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:instructions; }
.request-instructions li { position:relative;padding:8px 8px 8px 31px;border-radius:9px;background:#F7FAFD;font-size:12px;line-height:1.35;counter-increment:instructions; }
.request-instructions li::before { content:counter(instructions);position:absolute;left:8px;top:8px;display:grid;width:17px;height:17px;place-items:center;border-radius:50%;color:#fff;background:var(--request-blue);font-size:10px;font-weight:900; }

.request-progress {
    position: sticky;
    top: 10px;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    margin-bottom: 18px;
    padding: 8px;
    border: 1px solid rgba(219, 227, 237, .9);
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .09);
    backdrop-filter: blur(12px);
}

.request-progress button {
    padding: 8px 6px;
    border: 0;
    border-radius: 10px;
    color: var(--request-muted);
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
}

.request-progress button:hover:not(:disabled) { background: #eef4fb; color: var(--request-navy); }
.request-progress button.active { color: #fff; background: linear-gradient(135deg, var(--request-navy), #245A94); box-shadow: 0 7px 18px rgba(11,31,58,.18); }
.request-progress button.complete:not(.active) { color: #176B60; background: #E9F8F4; }
.request-progress button:disabled { opacity: .42; cursor: not-allowed; }

.request-card {
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid var(--request-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(15, 23, 42, .055);
    scroll-margin-top: 90px;
}

#service-request-form > .request-card { display: none; }

#service-request-form > .request-card.active {
    display: block;
    animation: requestStepIn .28s ease both;
}

@keyframes requestStepIn {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}

.request-section-heading {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8edf3;
}

.request-section-number {
    display: grid;
    flex: 0 0 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: var(--request-navy);
    font-size: 14px;
    font-weight: 900;
}

.request-section-heading h2 {
    margin: 0;
    color: var(--request-navy);
    font-size: 17px;
    line-height: 1.2;
}

.request-section-heading p { margin: 2px 0 0; color: var(--request-muted); font-size: 12px; }

.request-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.request-grid .span-2 { grid-column: 1 / -1; }

.request-field { min-width: 0; }

.request-field label,
.request-label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.request-required { color: var(--request-danger); }

.request-field input,
.request-field select,
.request-field textarea,
.request-admin-input {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    outline: none;
    color: #172033;
    background: #fff;
    font: inherit;
    font-size: 14px;
    transition: border-color .18s, box-shadow .18s;
}

.request-field textarea { min-height: 92px; resize: vertical; }
.request-field input:focus,
.request-field select:focus,
.request-field textarea:focus,
.request-admin-input:focus {
    border-color: var(--request-blue);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.request-field input[readonly] { color: #475569; background: #f8fafc; }
.request-field input[aria-invalid="true"],
.request-field select[aria-invalid="true"],
.request-field textarea[aria-invalid="true"] { border-color: var(--request-danger); box-shadow: 0 0 0 3px rgba(180, 35, 24, .1); }

.request-help { display: block; margin-top: 5px; color: var(--request-muted); font-size: 11px; }
.request-postal-priority { padding:14px 15px;border:1px solid #BFD5EC;border-radius:14px;background:linear-gradient(120deg,#F7FBFF,#EDF6FF); }
.request-postal-priority label { color:var(--request-navy);font-size:13px; }
.request-postal-priority input { max-width:230px;border-color:#9CB9D7;font-size:16px;font-weight:900;letter-spacing:.08em; }
.request-smart-suggestions[hidden],.request-inline-suggestions[hidden],.request-credential-email[hidden] { display:none; }
.request-smart-suggestions { display:grid;gap:11px;padding:13px 15px;border:1px dashed #9CBDE0;border-radius:14px;color:#31537A;background:#F5FAFF; }
.request-smart-suggestions > div:first-child { display:grid;gap:2px; }
.request-smart-suggestions strong { color:var(--request-navy);font-size:12px; }
.request-smart-suggestions span,.request-smart-suggestions small { font-size:10px;line-height:1.4; }
.request-smart-suggestions small { min-height:14px;color:#176B60;font-weight:800; }
.request-smart-actions { display:flex;gap:7px;flex-wrap:wrap; }
.request-smart-actions button,.request-inline-suggestions button { display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:7px 10px;border:1px solid #BCD1E7;border-radius:10px;color:#234E78;background:#fff;font:inherit;font-size:10px;font-weight:900;cursor:pointer; }
.request-smart-actions button:disabled { cursor:not-allowed;opacity:.48; }
.request-smart-actions button:hover,.request-smart-actions button:focus-visible,.request-inline-suggestions button:hover,.request-inline-suggestions button:focus-visible { border-color:#2563EB;color:#174EA6;background:#EFF6FF; }
.request-smart-actions .app-icon { width:14px;height:14px; }
.request-inline-suggestions { display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px; }
.request-inline-suggestions > span { color:#64748B;font-size:10px;font-weight:800; }
.request-inline-suggestions button { min-height:29px;padding:5px 8px; }
.request-window { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: end; }
.request-window-separator { padding-bottom: 12px; color: var(--request-muted); font-size: 12px; font-weight: 800; }
.request-time-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px;
    gap: 7px;
}
.request-time-control input[data-time-input] {
    min-width: 0;
    min-height: 46px;
    border-color: #B9C9DB;
    background-color: #F8FBFF;
    color: var(--request-navy);
    font-weight: 800;
    cursor: pointer;
}
.request-time-control > button {
    display: grid;
    min-width: 46px;
    min-height: 46px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--request-navy);
    border-radius: 10px;
    color: #fff;
    background: var(--request-navy);
    cursor: pointer;
}
.request-time-control > button .app-icon { width:20px;height:20px; }
.request-time-control:focus-within input[data-time-input],
.request-time-control:focus-within > button {
    border-color: var(--request-blue);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.request-time-modal[hidden] { display:none; }
.request-time-modal {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: grid;
    box-sizing: border-box;
    padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
    place-items: center;
    background: rgba(4, 17, 34, .72);
    backdrop-filter: blur(7px);
}
.request-time-dialog {
    display: grid;
    width: min(440px, 100%);
    max-height: min(calc(100dvh - 36px), 760px);
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(3, 14, 29, .38);
}
.request-time-dialog-header { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 14px; }
.request-time-dialog-header span { color:#64748B;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.request-time-dialog-header h2 { margin:2px 0 0;color:var(--request-navy);font-size:21px; }
.request-time-dialog-header > button { display:grid;width:38px;height:38px;place-items:center;border:1px solid #D8E2ED;border-radius:11px;color:var(--request-navy);background:#F5F8FC;cursor:pointer; }
.request-time-dialog-header > button .app-icon { width:18px;height:18px; }
.request-time-dialog-body { min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px;scrollbar-gutter:stable; }
.request-time-templates { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px; }
.request-time-templates > button { display:grid;min-width:0;padding:10px 6px;border:1px solid #D7E2EF;border-radius:13px;color:#31537A;background:#F8FBFF;text-align:center;cursor:pointer;transition:.18s ease; }
.request-time-templates > button:hover,.request-time-templates > button:focus-visible { border-color:#7EA5D1;background:#EDF5FF;transform:translateY(-1px); }
.request-time-template-icon { display:grid;width:28px;height:28px;margin:0 auto 5px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--request-navy),#2563EB); }
.request-time-template-icon .app-icon { width:15px;height:15px; }
.request-time-templates strong { overflow:hidden;color:var(--request-navy);font-size:11px;text-overflow:ellipsis;white-space:nowrap; }
.request-time-templates small { margin-top:2px;color:#64748B;font-size:9px;white-space:nowrap; }
.request-time-preview { display:flex;align-items:baseline;justify-content:center;gap:8px;margin:3px 0 8px;color:var(--request-navy); }
.request-time-preview span { padding:4px 7px;border-radius:7px;color:#fff;background:#2563EB;font-size:11px;font-weight:900; }
.request-time-preview strong { font-size:28px;letter-spacing:-.04em; }
.request-clock {
    --clock-radius: 108px;
    position: relative;
    width: 270px;
    height: 270px;
    margin: 0 auto 12px;
    border: 1px solid #D4E0ED;
    border-radius: 50%;
    background:radial-gradient(circle at center,#fff 0 11%,transparent 12%),linear-gradient(145deg,#F8FBFF,#EDF4FB);
    box-shadow:inset 0 0 0 8px #fff,0 12px 28px rgba(11,31,58,.09);
}
.request-clock::after { content:"";position:absolute;left:50%;top:50%;z-index:2;width:9px;height:9px;border-radius:50%;background:var(--request-navy);transform:translate(-50%,-50%); }
.request-clock-hand { position:absolute;left:calc(50% - 1px);bottom:50%;z-index:1;width:2px;height:78px;border-radius:99px;background:linear-gradient(var(--request-blue),var(--request-navy));transform:rotate(var(--clock-hand-angle,0deg));transform-origin:50% 100%;transition:transform .2s ease; }
.request-clock > button { position:absolute;left:50%;top:50%;z-index:3;width:36px;height:36px;padding:0;border:0;border-radius:50%;color:#31537A;background:#fff;box-shadow:0 3px 10px rgba(11,31,58,.1);font:inherit;font-size:12px;font-weight:900;cursor:pointer;transform:translate(-50%,-50%) rotate(calc(var(--clock-index) * 30deg)) translateY(calc(var(--clock-radius) * -1)) rotate(calc(var(--clock-index) * -30deg)); }
.request-clock > button.active { color:#fff;background:var(--request-navy);box-shadow:0 5px 14px rgba(11,31,58,.3); }
.request-time-options { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.request-time-options fieldset { min-width:0;margin:0;padding:0;border:0; }
.request-time-options legend { margin-bottom:6px;color:#64748B;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase; }
.request-time-options fieldset > div { display:grid;grid-template-columns:repeat(6,1fr);gap:5px; }
.request-time-options fieldset:last-child > div { grid-template-columns:repeat(2,1fr); }
.request-time-options button { min-height:38px;padding:5px;border:1px solid #D6E1ED;border-radius:9px;color:#31537A;background:#F8FBFF;font:inherit;font-size:11px;font-weight:900;cursor:pointer; }
.request-time-options button.active { color:#fff;border-color:#2563EB;background:#2563EB; }
.request-time-dialog-actions { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:0;padding:16px 20px 20px;border-top:1px solid #E2EAF3;background:#fff;box-shadow:0 -9px 22px rgba(11,31,58,.06); }
.request-time-dialog-actions button { min-height:44px;border:1px solid #C9D7E8;border-radius:11px;color:#31537A;background:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer; }
.request-time-dialog-actions [data-time-apply] { color:#fff;border-color:var(--request-navy);background:var(--request-navy); }
body.request-time-open { overflow:hidden; }

.request-legal {
    padding: 16px;
    border: 1px solid #d7e3f3;
    border-radius: 12px;
    color: #334155;
    background: #f7faff;
    font-size: 12px;
    line-height: 1.55;
}

.request-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 14px;
    color: #172033;
    font-size: 13px;
    font-weight: 700;
}

.request-check input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--request-navy); }
.request-check.is-disabled { opacity:.55; }
.request-account-note { display:grid;gap:3px;margin:16px 0 10px;padding:13px 15px;border:1px solid #BFDBFE;border-radius:12px;color:#31537A;background:#EFF6FF;font-size:12px;line-height:1.45; }
.request-account-note strong { color:var(--request-navy);font-size:13px; }
.request-credential-email { display:grid;gap:6px;margin:10px 0 0 28px;padding:13px 14px;border:1px solid #BFD5EC;border-radius:13px;background:#F7FBFF; }
.request-credential-email label { color:#284866;font-size:11px;font-weight:900; }
.request-credential-email input { width:100%;min-height:44px;padding:10px 12px;border:1px solid #B8CBE0;border-radius:10px;outline:none;color:#172033;background:#fff;font:inherit;font-size:14px; }
.request-credential-email input:focus { border-color:var(--request-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.request-credential-email input[aria-invalid="true"] { border-color:var(--request-danger);box-shadow:0 0 0 3px rgba(180,35,24,.1); }
.request-credential-email small { color:#64748B;font-size:10px;line-height:1.4; }

.request-form-error {
    display: none;
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #f1b8b3;
    border-radius: 12px;
    color: #7a271a;
    background: #fff1f0;
    font-size: 13px;
    font-weight: 700;
}
.request-form-error.visible { display: block; }

.request-draft-notice {
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
    padding:13px 15px;
    border:1px solid #9FD6C9;
    border-radius:12px;
    color:#145C52;
    background:#F0FDF9;
    font-size:12px;
}
.request-draft-notice.visible { display:flex; }
.request-draft-notice strong,.request-draft-notice span { display:block; }
.request-draft-notice span { margin-top:2px;color:#3F746D; }
.request-draft-notice button { flex:none;padding:8px 11px;border:0;border-radius:9px;color:#fff;background:#176B60;font:inherit;font-weight:800;cursor:pointer; }

.request-step-actions {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    grid-template-areas: "back counter draft next";
    gap: 12px;
    align-items: center;
    padding: 4px 2px 0;
}
.request-step-back { grid-area: back; }
.request-step-counter { grid-area: counter; }
.request-save-draft { grid-area: draft; color:#176B60; border-color:#9FD6C9; background:#F0FDF9; }
.request-step-next { grid-area: next; }
.request-submit { grid-area: submit; }
.request-step-actions.is-last {
    grid-template-columns: 1fr minmax(240px, auto) 1fr;
    grid-template-areas: "back submit .";
}
.request-step-actions.is-last .request-step-counter { display:none; }
.request-step-actions.is-last .request-step-back { justify-self:start; }
.request-step-actions.is-last .request-save-draft { justify-self:end; }

.request-step-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid #C9D7E8;
    border-radius: 12px;
    color: #234E7D;
    background: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}
.request-step-button[hidden] { display: none; }
.request-step-button .app-icon { width: 18px; height: 18px; }
.request-step-button:hover { border-color: #8EADD1; background: #F5F9FF; }
.request-step-button:disabled { opacity: .4; cursor: not-allowed; }
.request-step-next { color: #fff; border-color: var(--request-navy); background: var(--request-navy); }
.request-step-next:hover { color:#fff; background:#153B6F; }
.request-step-counter { justify-self:center;color:var(--request-muted);font-size:12px;font-weight:900; }
.request-submit {
    display: none;
    min-height: 48px;
    padding: 12px 24px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--request-navy), #153b6f);
    box-shadow: 0 12px 24px rgba(11, 31, 58, .2);
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}
.request-submit.visible { display: inline-flex; align-items: center; justify-content: center; }
.request-submit:hover { transform: translateY(-1px); }
.request-submit:disabled { opacity: .65; cursor: wait; transform: none; }

.request-success {
    display: none;
    padding: 42px 24px;
    border: 1px solid #a7d8cd;
    border-radius: 20px;
    background: #f0fdf9;
    text-align: center;
}
.request-success.visible { display: block; }
.request-success-icon { display:grid;width:58px;height:58px;margin:0 auto;place-items:center;border-radius:18px;color:#fff;background:#128C7E; }
.request-success-icon .app-icon { width:30px;height:30px; }
.request-success h2 { margin: 10px 0 4px; color: #075e54; font-size: 24px; }
.request-success-folio { display: inline-block; margin: 14px 0; padding: 9px 14px; border-radius: 9px; color: #fff; background: #075e54; font-size: 18px; font-weight: 900; }
.request-success-order { margin:0 auto 14px;padding:13px 15px;max-width:520px;border:1px solid #B7D9FA;border-radius:12px;color:#173F68;background:#EFF7FF;text-align:left; }
.request-success-order.is-warning { border-color:#F2CD82;color:#7A4B00;background:#FFF8E8; }
.request-success-order strong,.request-success-order span { display:block; }
.request-success-order span { margin-top:3px;font-size:12px;color:#52708D; }
.request-success-order a { display:inline-flex;margin-top:9px;color:#0B4F8A;font-size:12px;font-weight:900;text-decoration:underline; }
.request-success-credentials { display:none;margin:14px auto;padding:14px;border:1px solid #9FD6C9;border-radius:12px;max-width:520px;color:#145C52;background:#fff;text-align:left;font-size:13px; }
.request-success-credentials.visible { display:block; }
.request-success-credentials code { display:block;margin-top:8px;padding:10px;border-radius:9px;color:#0B1F3A;background:#EFF6FF;font-size:14px;word-break:break-all; }

.request-admin-toolbar { display: flex; justify-content: space-between; gap: 14px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.request-admin-filters { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(180px, 240px); gap: 10px; }
.request-list-panel { overflow: hidden; border: 1px solid var(--request-border); border-radius: 16px; background: #fff; }
.request-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.request-status.nueva_solicitud { color: #1d4ed8; background: #dbeafe; }
.request-status.borrador { color:#176B60;background:#DDF5EE; }
.request-status.en_revision { color: #92400e; background: #fef3c7; }
.request-status.aprobada { color: #047857; background: #d1fae5; }
.request-status.osle_generada { color:#0B4F8A;background:#DDEEFF; }
.request-status.en_operacion { color:#1D4ED8;background:#DBEAFE; }
.request-status.completada { color:#087361;background:#DDF7EF; }
.request-status.convertida_a_guia { color: #5b21b6; background: #ede9fe; }
.request-status.cancelada { color: #475569; background: #e2e8f0; }

.request-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 18px; align-items: start; }
.request-detail-actions { position: sticky; top: 82px; }
.request-action-stack { display: grid; gap: 9px; }
.request-action-stack .lm-btn { justify-content: center; width: 100%; }

@media (max-width: 760px) {
    .request-public-shell { width: min(100% - 20px, 1040px); padding-top: 20px; }
    .request-public-header { grid-template-columns: 1fr; gap: 12px; }
    .request-doc-control { text-align: left; }
    .request-progress { overflow-x: auto; grid-template-columns: repeat(5, minmax(105px, 1fr)); }
    .request-card { padding: 18px 15px; border-radius: 16px; }
    .request-grid { grid-template-columns: 1fr; gap: 13px; }
    .request-grid .span-2 { grid-column: auto; }
    .request-window { grid-template-columns: 1fr; gap:12px; }
    .request-window-separator { display: none; }
    .request-time-control input[data-time-input],.request-time-control > button { min-height:48px;font-size:16px; }
    .request-time-modal { padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));align-items:end; }
    .request-time-dialog { max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));border-radius:22px 22px 16px 16px; }
    .request-time-dialog-header { padding:16px 16px 12px; }
    .request-time-dialog-body { padding:0 16px; }
    .request-time-dialog-actions { padding:12px 16px 16px; }
    .request-clock { --clock-radius:94px;width:238px;height:238px; }
    .request-clock-hand { height:67px; }
    .request-time-options { grid-template-columns:1fr;gap:9px; }
    .request-postal-priority input { max-width:none; }
    .request-smart-actions { display:grid;grid-template-columns:1fr; }
    .request-smart-actions button { justify-content:flex-start; }
    .request-credential-email { margin-left:0; }
    .request-instructions ol { grid-template-columns:1fr; }
    .request-step-actions,
    .request-step-actions.is-last { grid-template-columns:1fr 1fr;grid-template-areas:"counter counter" "back next" "draft draft"; }
    .request-step-actions.is-last { grid-template-areas:"submit submit" "back back"; }
    .request-step-actions.is-last .request-step-counter { display:none; }
    .request-step-actions.is-last .request-step-back,
    .request-step-actions.is-last .request-save-draft { justify-self:stretch; }
    .request-save-draft { width:100%; }
    .request-submit { width: 100%; }
    .request-draft-notice.visible { align-items:stretch;flex-direction:column; }
    .request-admin-filters { grid-template-columns: 1fr; width: 100%; }
    .request-detail-grid { grid-template-columns: 1fr; }
    .request-detail-actions { position: static; }
}
