/* Single owner for shared controls. Domain layouts/content live in screen adapters. */
.button,.button:hover,.button:focus,.button:focus-visible,.button:visited{text-decoration:none}
.button{border:0;border-radius:7px;background:transparent;padding:8px 12px;min-height:40px;line-height:1.5;font-size:.8rem;font-weight:550;color:inherit;white-space:nowrap}
.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:#0058c5}.button.quiet:hover{background:#edf0f3}.button.selection{background:#edf3fc;color:#1759a5}
.seg,.ui-choice{display:inline-flex;background:#f0f2f5;border-radius:7px;padding:2px;gap:2px}
.seg button,.ui-choice button{border:0;background:none;border-radius:5px;font-size:.75rem;padding:7px 11px;min-height:36px;color:#5f6b78;white-space:nowrap}
.seg button[aria-pressed=true],.ui-choice button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #27374c17;color:#22344b;font-weight:600}
.ui-button[data-size=action]{padding:11px 18px;min-height:42px;font-size:13px;font-weight:650}
.ui-button[data-variant=link]{padding:0;border:0;background:transparent;color:#1759a5;min-height:0;font-size:12px}
.ui-button[data-variant=link]:hover{background:transparent}
.ui-button[data-size=icon]{width:40px;padding:6px}
.ui-panel[hidden]{display:none!important}
.ui-panel[data-frame=review],.ui-panel[data-frame=final]{display:grid;grid-template-rows:56px 46px minmax(0,1fr) auto;min-height:0;overflow:hidden;background:white}
.ui-panel[data-frame=final]{grid-template-rows:56px minmax(0,1fr) auto}
.ui-panel-head{height:56px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #e4e7eb;flex-shrink:0}
.ui-panel-head h1{font-size:14px;line-height:1.5;margin:0;flex:1}
.ui-panel-body{padding:26px 20px;min-height:0;overflow:auto;overscroll-behavior:contain}
.ui-panel-footer{padding:14px 20px;border-top:1px solid #e4e7eb;background:white;max-height:35vh;overflow:auto}
.ui-panel-footer[hidden],.ui-tabs[hidden]{display:none!important}
.ui-panel-footer .actions{display:grid;gap:8px;margin:0;padding:0;border:0}
.ui-panel-footer .actions .button{width:100%}
.ui-tabs{display:flex;gap:18px;padding:0 16px;border-bottom:1px solid #e4e7eb}
.ui-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;font:600 12px system-ui;color:#65717e;cursor:pointer}
.ui-tabs button[aria-selected=true]{color:#202830;border-bottom-color:#202830}
.ui-receipt{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #bfd0c6;border-radius:8px;background:#eef6f0;color:#24533c}
.ui-receipt img{width:20px;height:20px;flex-shrink:0}.ui-receipt strong{font-size:13px}.ui-receipt p{margin:4px 0 0;font-size:11px;line-height:1.6}
@media(max-width:699px){.ui-panel[data-frame=review]{grid-template-rows:44px 40px minmax(0,1fr) auto}.ui-panel[data-frame=final]{grid-template-rows:44px minmax(0,1fr) auto}.ui-panel-head{height:44px}.ui-panel-footer{padding:10px 16px;max-height:40vh}}

.ui-choice[data-variant=neutral]{display:flex}.ui-choice[data-variant=neutral] button{flex:1}

/* Shared form primitives, used by authentication and future settings forms. */
.ui-field{display:grid;gap:.4rem;min-width:0}
.ui-field>label{font-size:.8rem;font-weight:550}
.ui-input{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #c6ced8;border-radius:8px;padding:10px 12px;background:#fff;color:inherit;font-size:1rem;line-height:1.5}
.ui-field>.muted{margin:0}.ui-field>.text-button{justify-self:start;padding:0}
.ui-input[aria-invalid=true]{border-color:var(--err)}
