/* SPDX-License-Identifier: LicenseRef-Airbus-Proprietary */
/* Base rules of the metaop sheet that the Status and Settings > Observability pages use (first copy, unchanged), then the rules of the links and forms that the mock-ups draw with buttons. */
.rf-page{display:flex;flex-direction:column;gap:16px;padding:24px 32px 64px;min-width:0;max-width:1240px;width:100%;margin:0 auto}
.rf-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rf-head h1{font-size:1.45rem;color:var(--navy);margin:0;letter-spacing:-.012em}
.rf-head h2{font-size:1.05rem;color:var(--navy);margin:0}
.rf-head h1,.rf-head h2{min-width:0;overflow-wrap:anywhere}
.rf-spacer{flex:1}
.rf-quiet{color:var(--muted);font-size:.8rem}
.rf-ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rf-row{display:flex;align-items:center;gap:10px;min-width:0}
.rf-col{display:flex;flex-direction:column;min-width:0}
.rf-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;min-width:0}
.rf-card.pad{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.rf-card.clip{overflow:hidden}
.rf-setrow{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--line);min-width:0}
.rf-setrow:last-child{border-bottom:0}
.rf-empty{padding:28px 20px;color:var(--muted);font-size:.9rem}

.rf-seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg);flex:none}
.rf-seg button{border:0;background:none;padding:8px 14px;min-height:38px;font:inherit;font-size:var(--ctl-fs);font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap}
.rf-seg button.on,.rf-seg button[aria-pressed="true"]{background:var(--navy);color:var(--bg)}
.rf-seg.sm button{padding:6px 12px;min-height:34px}
.rf-search{display:flex;align-items:center;gap:8px;border:1px solid var(--blue-125);border-radius:6px;padding:0 10px;background:var(--bg);min-height:40px;min-width:0}
.rf-search input{border:0;outline:0;font:inherit;font-size:var(--ctl-fs);flex:1;min-width:0;background:transparent}
.rf-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.rf-inp{border:1px solid var(--blue-125);border-radius:6px;padding:8px 10px;font:inherit;font-size:var(--ctl-fs);min-height:40px;background:var(--bg);color:var(--ink);width:100%;min-width:0}
.rf-fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.rf-fld>label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.rf-set-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rf-set-card-h h2{font-size:1rem;color:var(--navy);margin:0}
.dsh-tbl{width:100%;border-collapse:collapse;font-size:.74rem}
.dsh-tbl th{text-align:left;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;padding:4px 6px;border-bottom:1px solid var(--line)}
.dsh-tbl td{padding:4px 6px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.dsh-tbl td:first-child{font-variant-numeric:normal}
.dsh-tbl tr:last-child td{border-bottom:0}
.dsh-tbl .num{text-align:right}
@media (max-width:900px){
  .rf-page{padding:18px 20px 64px}
  .rf-status-mrow.adm{grid-template-columns:76px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 72px auto}
}
@media (max-width:760px){
  .rf-status-mrow.adm{grid-template-columns:76px minmax(0,1fr) minmax(0,1.2fr) 72px auto}
}
@media (max-width:640px){
  .rf-page{padding:16px 16px 88px}
  .rf-setrow{padding:12px 16px;flex-wrap:wrap}
}

/* The two pages draw their filters as links and their actions as forms: the same looks as the buttons of the mock-ups. */
.rf-seg a{display:inline-flex;align-items:center;border:0;background:none;padding:8px 14px;min-height:38px;font:inherit;font-size:var(--ctl-fs);font-weight:700;color:var(--muted);text-decoration:none;white-space:nowrap}
.rf-seg a[aria-current="page"]{background:var(--navy);color:var(--bg)}
.rf-seg.sm a{padding:6px 12px;min-height:34px}
.rf-status-counts a{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:999px;padding:4px 8px;min-height:30px;font-size:var(--ctl-fs);font-weight:700;color:var(--muted);text-decoration:none}
.rf-status-counts a:hover{border-color:var(--line);color:var(--ink)}
.rf-status-mhead .rf-status-plan{margin-left:auto}
.rf-status-mnone{margin:0;padding:14px 20px;border-top:1px solid var(--line)}
.rf-status-mrow.adm{grid-template-columns:76px minmax(0,260px) minmax(96px,1fr) minmax(0,auto) 84px auto}
.rf-status-cancel{margin:0}
.rf-setrow h2{font-size:1rem;color:var(--navy);margin:0}
.rf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.rf-status-search .ic{color:var(--muted)}
.rf-card.pad form,.rf-card form.pad{display:flex;flex-direction:column;gap:14px}
.rf-fld .rf-inp[type="checkbox"],.rf-fld input[type="checkbox"]{width:auto;min-height:0}
.rf-field-err{font-size:.78rem;font-weight:700;color:var(--red-650)}
.rf-inp[aria-invalid="true"]{border-color:var(--red-500)}
.rf-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rf-check{display:flex;align-items:center;gap:8px;min-height:32px;font-size:var(--ctl-fs)}
.rf-set{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rf-set legend{padding:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.gs-notice{margin:10px 0 0;padding:8px 12px;border:1px solid var(--line);border-left:4px solid var(--blue-575);border-radius:6px;background:var(--bg-soft);font-size:.82rem;font-weight:600}
.gs-act form{display:flex;align-items:center;gap:10px;margin:0}
@media (max-width:640px){
  .rf-status-mhead{flex-wrap:wrap;row-gap:8px}
  .rf-status-mhead .rf-quiet{white-space:nowrap}
  .rf-status-mrow.adm{grid-template-columns:auto minmax(0,1fr)}
  .rf-status-mrow.adm .rf-status-cancel{grid-column:2}
  .rf-seg.sm a{min-height:40px}
  .rf-status-counts a{min-height:40px}
}

/* SHARED COMPONENTS (NEED-94): the form row, the field, the help text, the inline action, the notice and the card are defined here, once, for every page (the sheet list of every page loads this sheet). A page sheet places them; it never sets their layout again. alis:need NEED-94 alis:ac AC-001 AC-002 AC-004 AC-005 AC-007 */
/* Form row: fields side by side on one grid, tops aligned, one column on a phone. */
.rf-formrow,.gs-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start;min-width:0;max-width:100%}
.rf-formrow.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Field: label, control, help as one column. */
.rf-fld,.gs-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gs-field label,.gs-lbl{display:block;font-size:.74rem;font-weight:800;color:var(--ink);margin:0}
.gs-field fieldset{border:0;margin:0;padding:0;min-width:0}
.gs-field legend{padding:0}
.rf-inp,.gs-input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;border:1px solid rgba(var(--grey-575-rgb),.35);border-radius:8px;padding:8px 10px;font:inherit;font-size:var(--ctl-fs,.84rem);background:var(--bg);color:var(--ink)}
.gs-input[aria-invalid="true"]{border-color:var(--red-500)}
textarea.gs-input,textarea.rf-inp{min-height:64px;resize:vertical}
.rf-help,.gs-field .hint{display:block;margin:0;font-size:.74rem;color:var(--muted);overflow-wrap:anywhere}
/* Inline action: a button and its note on one row, centres aligned. */
.rf-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.rf-inline .btn{flex:none}
.rf-inline .rf-quiet{min-width:0;overflow-wrap:anywhere}
.rf-stack{display:flex;flex-direction:column;gap:10px;min-width:0}
/* Notice: sensitive-data note, banners, notices shrink to the content area and wrap. */
.gs-sens,.gs-banner,.gs-notice{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}
.gs-sens>span,.gs-banner>div,.gs-banner>span{min-width:0}
.gs-sens{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:8px 12px;border:1px solid var(--amber-150);border-left:4px solid var(--amber-550);border-radius:6px;background:var(--amber-75);color:var(--ink);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.gs-sens .ic{width:16px;height:16px;flex:none;margin-top:1px;color:var(--amber-825)}
.gs-banner{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--amber-150);border-left:4px solid var(--amber-375);background:var(--amber-25);border-radius:10px;padding:12px 14px;margin:0 0 14px}
.gs-banner.bad{border-color:var(--red-250);border-left-color:var(--red-500);background:var(--red-25)}
.gs-banner .ic{width:20px;height:20px;color:var(--warn);flex:none;margin-top:1px}
.gs-banner.bad .ic{color:var(--red-950)}
.gs-banner b{display:block;color:var(--ink);font-size:.9rem}
.gs-banner span{font-size:.8rem;color:var(--muted)}
/* Card. */
.gs-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.rf-card,.gs-card{box-sizing:border-box;max-width:100%;min-width:0}
/* A card that clips and holds a table scrolls the table sideways when it is wider, and never cuts it. */
.rf-card.clip:has(>table){overflow-x:auto}
.gs-card h2{font-size:.95rem;color:var(--navy);margin:0}
.gs-card .sub{font-size:.74rem;color:var(--muted);margin:2px 0 10px}
@media (max-width:640px){
  .rf-formrow,.gs-2{grid-template-columns:minmax(0,1fr)}
  .rf-formrow .rf-inp,.rf-formrow .gs-input{width:100%}
}
/* The pager of the long lists, Files, Trash, Tokens, People and Shares (NEED-187). */
.gs-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 0;font-size:.8rem;color:var(--muted)}
.gs-pager span{margin-right:auto}
@media (max-width:640px){
  .gs-pager{flex-wrap:wrap}
  .gs-pager span{flex-basis:100%}
  .gs-pager a{flex:1;justify-content:center;min-height:40px}
}
