/* Rackoryn v139 — presentation only; existing controllers own all states/actions. */
@media screen {
html body.rk134-client.rk139-client {
  --r139-gap:22px;
}
html body.rk134-client.rk139-client .client-content {min-width:0}
html body.rk134-client.rk139-client :is(.live-page-head,.order-heading) {gap:22px;margin-bottom:26px}
html body.rk134-client.rk139-client :is(.live-page-head,.order-heading)>div {min-width:0}
html body.rk134-client.rk139-client :is(.panel,.order-panel,.notify-card) {min-width:0}
html body.rk134-client.rk139-client :is(.btn,.order-button) {min-height:44px}
html body.rk134-client.rk139-client .client-content :is(label,input,select,textarea) {min-width:0;max-width:100%}
html body.rk134-client.rk139-client .client-content :is(input,select,textarea):focus-visible {outline:2px solid var(--accent);outline-offset:3px}
html body.rk134-client.rk139-client .client-content textarea {resize:vertical}
html body.rk134-client.rk139-client :is(.live-form-status,.notify-feedback,.order-inline-status) {overflow-wrap:anywhere}
html body.rk134-client.rk139-client .client-content [id] {scroll-margin-top:155px}
/* Profile: two equally weighted account and billing panels, then one save bar. */
html body.rk134-client.rk139-profil .portal-profile {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:none;align-items:start}
html body.rk134-client.rk139-profil .portal-profile>.panel {margin:0;overflow:hidden;border-radius:16px}
html body.rk134-client.rk139-profil .panel-head {padding:21px 24px;background:var(--panel2)}
html body.rk134-client.rk139-profil .panel-head h2 {font-size:17px;display:flex;align-items:center;gap:12px;margin:0}
html body.rk134-client.rk139-profil .panel-head h2::before {content:"";width:8px;height:24px;flex:none;border-radius:4px;background:var(--accent);opacity:.65}
html body.rk134-client.rk139-profil .portal-profile fieldset {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;padding:24px}
html body.rk134-client.rk139-profil .portal-profile fieldset>label {display:grid;align-content:start;font-size:12px;line-height:1.6;gap:8px}
html body.rk134-client.rk139-profil .portal-profile fieldset>label:nth-child(-n+2),
html body.rk134-client.rk139-profil .portal-profile fieldset>label:has(input[readonly]),
html body.rk134-client.rk139-profil #billing label:has(input[name=billing_email]),
html body.rk134-client.rk139-profil .portal-profile fieldset>.full {grid-column:1/-1}
html body.rk134-client.rk139-profil .portal-profile :is(input,select) {width:100%;background:var(--bg);font-size:14px;border-color:var(--line2)}
html body.rk134-client.rk139-profil .portal-profile input[readonly] {background:var(--panel2);opacity:1;color:var(--muted)}
html body.rk134-client.rk139-profil .portal-profile small {font-size:11px;line-height:1.7}
html body.rk134-client.rk139-profil .portal-profile .portal-note {padding:14px 16px;margin:0;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
html body.rk134-client.rk139-profil .portal-save {grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0;padding:18px 22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
html body.rk134-client.rk139-profil .portal-save .btn {min-width:170px}
html body.rk134-client.rk139-profil .portal-profile>[role=status],
html body.rk134-client.rk139-profil .portal-profile>[data-profile-reload] {grid-column:1/-1;margin:0;justify-self:start}
/* Security: actual email verification state, password form, existing 2FA notice. */
html body.rk134-client.rk139-securite .client-content {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
html body.rk134-client.rk139-securite .client-content>.live-page-head {grid-column:1/-1;margin-bottom:3px}
html body.rk134-client.rk139-securite .client-content>.panel {margin:0;overflow:hidden;border-radius:16px}
html body.rk134-client.rk139-securite .rk129-email-panel {grid-column:1;grid-row:2}
html body.rk134-client.rk139-securite .panel:has(>#live-password-form) {grid-column:2;grid-row:2/4}
html body.rk134-client.rk139-securite .client-content>.panel:last-child {grid-column:1;grid-row:3}
html body.rk134-client.rk139-securite .panel-head {padding:20px 24px;background:var(--panel2)}
html body.rk134-client.rk139-securite .panel-head h2 {font-size:17px;margin:0}
html body.rk134-client.rk139-securite .panel-body {padding:24px;font-size:13px;line-height:1.8}
html body.rk134-client.rk139-securite .rk129-email-panel strong {display:block;font-size:16px;overflow-wrap:anywhere;font-weight:600}
html body.rk134-client.rk139-securite .rk129-email-panel strong+p {display:inline-block;margin:12px 0 20px;padding:6px 11px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);font-size:12px}
html body.rk134-client.rk139-securite .rk129-email-panel .btn {display:flex;width:fit-content;max-width:100%}
html body.rk134-client.rk139-securite #live-password-form {grid-template-columns:1fr;gap:22px;padding:24px}
html body.rk134-client.rk139-securite #live-password-form label {font-size:13px;line-height:1.7}
html body.rk134-client.rk139-securite #live-password-form input {background:var(--bg);font-size:14px}
html body.rk134-client.rk139-securite #live-password-form small {font-size:12px}
html body.rk134-client.rk139-securite #live-password-form button {justify-self:start}
html body.rk134-client.rk139-securite #live-password-form .live-form-status {margin:0;grid-column:1/-1}
/* Support: existing list, composer and conversation retain their routing. */
html body.rk134-client.rk139-support .client-content {max-width:1320px}
html body.rk134-client.rk139-support .client-content:has(>a[href="#new"]) {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center}
html body.rk134-client.rk139-support .client-content:has(>a[href="#new"])>.live-page-head {margin:0;grid-column:1}
html body.rk134-client.rk139-support .client-content>a[href="#new"] {grid-column:2;justify-self:end}
html body.rk134-client.rk139-support .client-content:has(>a[href="#new"])>:is(.panel,.live-empty) {grid-column:1/-1;margin:0}
html body.rk134-client.rk139-support .live-ticket-list {padding:8px 24px}
html body.rk134-client.rk139-support .live-ticket-list article {display:flex;align-items:center;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
html body.rk134-client.rk139-support .live-ticket-list article:last-child {border-bottom:0}
html body.rk134-client.rk139-support .live-ticket-list article>div {flex:1;min-width:0}
html body.rk134-client.rk139-support .support-ticket-link {font-size:15px;font-weight:600;text-decoration:none;line-height:1.6}
html body.rk134-client.rk139-support .support-ticket-link:hover {color:var(--accent);text-decoration:underline;text-underline-offset:4px}
html body.rk134-client.rk139-support .live-ticket-list p {font-size:12px;color:var(--muted);margin:7px 0 0;line-height:1.7}
html body.rk134-client.rk139-support .support-actions {padding:15px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:12px}
html body.rk134-client.rk139-support .support-actions [data-refresh-thread] {margin-left:auto}
html body.rk134-client.rk139-support .support-thread {padding:10px 24px 24px;background:var(--bg);border-style:dashed}
html body.rk134-client.rk139-support .support-message {max-width:90%;margin:16px 0 0 auto;padding:20px 22px;background:var(--panel);border-color:var(--line);border-radius:14px 14px 4px 14px}
html body.rk134-client.rk139-support .support-message.staff {margin-left:0;margin-right:auto;background:var(--r134-soft);border-color:var(--line2);border-radius:14px 14px 14px 4px}
html body.rk134-client.rk139-support .support-message header {font-size:12px;gap:12px;color:var(--text)}
html body.rk134-client.rk139-support .support-message header strong {font-weight:650}
html body.rk134-client.rk139-support .support-message time {color:var(--muted);font-size:11px}
html body.rk134-client.rk139-support .support-message p {font-size:14px;line-height:1.85;margin-top:12px}
html body.rk134-client.rk139-support .support-form {padding:24px}
html body.rk134-client.rk139-support .support-form label {font-size:13px;gap:9px;line-height:1.6}
html body.rk134-client.rk139-support .support-form :is(input,select,textarea) {width:100%;background:var(--bg);font-size:14px}
html body.rk134-client.rk139-support #support-create fieldset {grid-template-columns:minmax(0,1fr) minmax(180px,.32fr);gap:22px}
html body.rk134-client.rk139-support #support-create label:has(textarea) {grid-column:1/-1}
html body.rk134-client.rk139-support #support-create textarea {min-height:215px}
html body.rk134-client.rk139-support #support-create button {grid-column:1/-1;min-width:160px}
html body.rk134-client.rk139-support .support-note {font-size:12px;line-height:1.8}
html body.rk134-client.rk139-support .live-empty {min-height:260px;padding:40px 24px;border-style:dashed;background:var(--panel)}
/* Orders: clear estimates, request history and forms, existing labels preserved. */
html body.rk134-client.rk139-commandes .orders-app {max-width:none}
html body.rk134-client.rk139-commandes .order-stats {gap:16px;margin-bottom:22px}
html body.rk134-client.rk139-commandes .order-stats article {padding:21px 24px;border-radius:14px;border-top:3px solid var(--line2)}
html body.rk134-client.rk139-commandes .order-stats article:first-child {border-top-color:var(--accent)}
html body.rk134-client.rk139-commandes .order-stats article:nth-child(2) {border-top-color:var(--good)}
html body.rk134-client.rk139-commandes .order-stats strong {font-size:34px;line-height:1.2;margin:13px 0 9px;font-variant-numeric:tabular-nums}
html body.rk134-client.rk139-commandes .order-panel {border-radius:16px}
html body.rk134-client.rk139-commandes .order-filters {padding:20px 24px;background:var(--panel2);gap:12px}
html body.rk134-client.rk139-commandes .order-filters label {min-width:220px}
html body.rk134-client.rk139-commandes .order-filters select {min-height:44px}
html body.rk134-client.rk139-commandes .order-row {grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,.8fr);padding:23px 24px;gap:24px}
html body.rk134-client.rk139-commandes .order-row>div {min-width:0}
html body.rk134-client.rk139-commandes .order-row>div:first-child {grid-row:auto}
html body.rk134-client.rk139-commandes .order-price {grid-column:auto}
html body.rk134-client.rk139-commandes .order-row h2 {font-size:17px;line-height:1.5;overflow-wrap:anywhere}
html body.rk134-client.rk139-commandes .order-price strong {font-size:23px;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html body.rk134-client.rk139-commandes .order-price small {font-size:11px;line-height:1.6}
html body.rk134-client.rk139-commandes .order-price span {font-size:12px}
html body.rk134-client.rk139-commandes .order-badge {font-size:11px;font-weight:600;white-space:normal}
html body.rk134-client.rk139-commandes .order-empty {padding:38px 24px}
html body.rk134-client.rk139-commandes .order-checkout,
html body.rk134-client.rk139-commandes .order-detail-grid {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px}
html body.rk134-client.rk139-commandes .order-detail-grid>div {min-width:0}
html body.rk134-client.rk139-commandes .order-pad {padding:26px}
html body.rk134-client.rk139-commandes .orders-app :is(input:not([type=checkbox]),select,textarea) {background:var(--bg);border-color:var(--line2);min-height:44px}
html body.rk134-client.rk139-commandes .order-total {padding:18px;margin:20px 0 16px;background:var(--r134-soft);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:10px}
html body.rk134-client.rk139-commandes .order-total strong {font-size:28px;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
html body.rk134-client.rk139-commandes .order-timeline li {padding-left:23px;padding-bottom:26px}
html body.rk134-client.rk139-commandes .order-timeline li:last-child {padding-bottom:0}
html body.rk134-client.rk139-commandes .order-timeline li::before {width:10px;height:10px;left:-6px;box-shadow:0 0 0 4px var(--panel)}
html body.rk134-client.rk139-commandes .order-message {padding:14px 16px;background:var(--panel2);border:1px solid var(--line);border-radius:9px}
/* Notifications: separate totals, readable cards and unchanged read controls. */
html body.rk134-client.rk139-notifications .notify-summary {grid-template-columns:minmax(130px,.6fr) minmax(130px,.6fr) minmax(0,1.8fr);border:0;border-radius:0;padding:0;background:transparent;gap:16px;margin:0 0 24px}
html body.rk134-client.rk139-notifications .notify-summary>div {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 24px;gap:12px}
html body.rk134-client.rk139-notifications .notify-summary>div:first-child {border-top:3px solid var(--accent);padding-top:18px}
html body.rk134-client.rk139-notifications .notify-summary strong {font-size:34px;line-height:1.2;font-variant-numeric:tabular-nums}
html body.rk134-client.rk139-notifications .notify-summary>p {font-size:13px;line-height:1.8;padding:18px 24px;border-left:1px solid var(--line)}
html body.rk134-client.rk139-notifications .notify-filters {padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);gap:12px}
html body.rk134-client.rk139-notifications .notify-filters label {flex:1;min-width:200px;font-size:12px}
html body.rk134-client.rk139-notifications .notify-filters select {width:100%;border-color:var(--line2);font-size:13px;min-height:44px}
html body.rk134-client.rk139-notifications .notify-filters [data-read-page] {margin-left:0}
html body.rk134-client.rk139-notifications .notify-feedback {margin:14px 0;min-height:20px}
html body.rk134-client.rk139-notifications .notify-list {gap:16px}
html body.rk134-client.rk139-notifications .notify-card {padding:22px 24px;border-radius:14px}
html body.rk134-client.rk139-notifications .notify-card.is-unread {border-left:3px solid var(--accent);padding-left:22px}
html body.rk134-client.rk139-notifications .notify-card-head {margin-bottom:14px}
html body.rk134-client.rk139-notifications .notify-card h2 {font-size:17px;line-height:1.5}
html body.rk134-client.rk139-notifications .notify-product {font-size:13px;margin:7px 0 14px;line-height:1.75}
html body.rk134-client.rk139-notifications .notify-message {padding:14px 16px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;font-size:13px}
html body.rk134-client.rk139-notifications .notify-card-actions {padding-top:16px;border-top:1px solid var(--line);margin-top:18px;gap:14px}
html body.rk134-client.rk139-notifications .notify-read {color:var(--accent);font-size:12px}
html body.rk134-client.rk139-notifications .live-empty {min-height:240px;padding:36px 24px;border-style:dashed}
/* Tablet and narrow desktop: collapse complex forms before they become cramped. */
@media(max-width:1380px) and (min-width:1181px) {
  html body.rk134-client.rk139-profil .portal-profile {grid-template-columns:1fr}
  html body.rk134-client.rk139-commandes :is(.order-checkout,.order-detail-grid) {grid-template-columns:1fr}
}
@media(max-width:900px) {
  html body.rk134-client.rk139-profil .portal-profile,
  html body.rk134-client.rk139-securite .client-content,
  html body.rk134-client.rk139-commandes :is(.order-checkout,.order-detail-grid) {grid-template-columns:1fr}
  html body.rk134-client.rk139-securite .client-content>:is(.panel,.live-page-head) {grid-column:1;grid-row:auto}
  html body.rk134-client.rk139-support .client-content:has(>a[href="#new"]) {grid-template-columns:1fr;gap:18px}
  html body.rk134-client.rk139-support .client-content>a[href="#new"] {grid-column:1;justify-self:start}
  html body.rk134-client.rk139-notifications .notify-summary {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  html body.rk134-client.rk139-notifications .notify-summary>p {grid-column:1/-1;border:0;padding:0 2px}
  html body.rk134-client.rk139-commandes .order-row {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px}
  html body.rk134-client.rk139-commandes .order-row>div:first-child {grid-row:span 2}
  html body.rk134-client.rk139-commandes .order-price {grid-column:2;text-align:left}
}
@media(max-width:640px) {
  html body.rk134-client.rk139-client .client-content {padding:22px 16px 40px}
  html body.rk134-client.rk139-client .client-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-size:16px}
  html body.rk134-client.rk139-client.rk136-service .rk123-manage-grid .live-form :is(input,textarea) {font-size:16px}
  html body.rk134-client.rk139-client :is(.live-page-head,.order-heading) {gap:14px;margin-bottom:22px}
  html body.rk134-client.rk139-client .client-content :is(.portal-pagination,.order-pagination) {flex-wrap:wrap;gap:12px}
  html body.rk134-client.rk139-client .rk128-language summary,
  html body.rk134-client.rk139-client :is(.client-menu,.icon-btn) {min-height:44px}
  html body.rk134-client.rk139-profil .portal-profile {gap:18px}
  html body.rk134-client.rk139-profil :is(.panel-head,.portal-profile fieldset),
  html body.rk134-client.rk139-securite :is(.panel-head,.panel-body,#live-password-form) {padding:20px}
  html body.rk134-client.rk139-profil .portal-save {padding:18px;align-items:stretch}
  html body.rk134-client.rk139-profil .portal-save .btn {width:100%}
  html body.rk134-client.rk139-support .live-ticket-list {padding:0 18px}
  html body.rk134-client.rk139-support .live-ticket-list article {gap:12px;padding:20px 0;flex-wrap:wrap}
  html body.rk134-client.rk139-support .live-ticket-list article>div {flex-basis:100%}
  html body.rk134-client.rk139-support .support-actions {padding:14px;gap:10px}
  html body.rk134-client.rk139-support .support-actions [data-refresh-thread] {flex-basis:100%;margin-left:0}
  html body.rk134-client.rk139-support .support-thread {padding:0 12px 14px}
  html body.rk134-client.rk139-support .support-message {max-width:100%;padding:17px;margin-top:14px}
  html body.rk134-client.rk139-support .support-message header {flex-direction:column;gap:5px}
  html body.rk134-client.rk139-support .support-form {padding:20px}
  html body.rk134-client.rk139-support #support-create fieldset {grid-template-columns:1fr;gap:20px}
  html body.rk134-client.rk139-support #support-create textarea {min-height:180px}
  html body.rk134-client.rk139-support .support-form button {width:100%}
  html body.rk134-client.rk139-commandes .order-stats {gap:9px}
  html body.rk134-client.rk139-commandes .order-stats article {padding:16px 12px}
  html body.rk134-client.rk139-commandes .order-stats strong {font-size:29px}
  html body.rk134-client.rk139-commandes .order-stats small {font-size:11px;line-height:1.6}
  html body.rk134-client.rk139-commandes .order-filters {padding:17px;gap:10px}
  html body.rk134-client.rk139-commandes .order-filters label {min-width:0;width:100%}
  html body.rk134-client.rk139-commandes .order-row {grid-template-columns:minmax(0,1fr);padding:20px;gap:14px}
  html body.rk134-client.rk139-commandes .order-row>div:first-child {grid-row:auto}
  html body.rk134-client.rk139-commandes .order-price {grid-column:1;flex-wrap:wrap}
  html body.rk134-client.rk139-commandes .order-pad {padding:20px}
  html body.rk134-client.rk139-commandes .order-facts>div {flex-wrap:wrap;gap:6px 12px}
  html body.rk134-client.rk139-commandes .order-facts dd {text-align:left}
  html body.rk134-client.rk139-notifications .notify-summary>div {padding:18px 20px}
  html body.rk134-client.rk139-notifications .notify-summary>div:first-child {padding-top:16px}
  html body.rk134-client.rk139-notifications .notify-filters {padding:17px;gap:12px}
  html body.rk134-client.rk139-notifications .notify-filters label {min-width:0;flex-basis:100%}
  html body.rk134-client.rk139-notifications .notify-filters button {flex-basis:100%;width:100%}
  html body.rk134-client.rk139-notifications .notify-card {padding:20px}
  html body.rk134-client.rk139-notifications .notify-card.is-unread {padding-left:18px}
}
@media(max-width:440px) {
  html body.rk134-client.rk139-profil .portal-profile fieldset {grid-template-columns:1fr}
  html body.rk134-client.rk139-profil .portal-profile fieldset>label {grid-column:1}
  html body.rk134-client.rk139-client .client-topbar {column-gap:4px;padding-inline:12px}
  html body.rk134-client.rk139-client .rk134-mobile-brand {font-size:12px}
  html body.rk134-client.rk139-commandes .order-stats {grid-template-columns:1fr}
  html body.rk134-client.rk139-commandes .order-stats article {display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:16px 19px}
  html body.rk134-client.rk139-commandes .order-stats strong {grid-column:2;grid-row:1/3;align-self:center;margin:0}
  html body.rk134-client.rk139-commandes .order-stats small {grid-column:1}
}
@media(prefers-reduced-motion:reduce) {
  html body.rk134-client.rk139-client *,html body.rk134-client.rk139-client *::before {scroll-behavior:auto!important}
}
}
