/* Shared geometry follows the homepage; specialist data grids keep their density. */
:root{
 --ui-content-gap:18px;
 --ui-page-title-size:22px;
 --ui-control-height:32px;
 --ui-table-header-height:42px;
 --ui-table-row-height:45px;
 --ui-panel-radius:5px;
}
#app #main{padding:var(--ui-content-gap)}
.site-topbar,.site-footer{padding-inline:var(--ui-content-gap)}
#app #main :is(.page-heading,.hu-heading,.tr-heading,.ab-heading){margin-bottom:14px}
#app #main :is(.page-heading,.hu-heading,.tr-heading,.ab-heading) h1,
#app #main .vp-hero h1{
 margin:0;font-size:var(--ui-page-title-size);line-height:34px;font-weight:600;
 letter-spacing:0;
}
#app #main :is(.hu-funds-heading h2,.flight-records-heading h2,.hu-tracking-toggle,.free-curve-heading h2){
 font-size:16px;font-weight:600;
}
#app #main :is(.ab-filter-panel,.ab-metrics,.ab-table-wrap,.free-profit-curve,.vp-section,.vp-benefits,.vp-checkout){
 border-radius:var(--ui-panel-radius);
}
#app #main :is(.classic-scratch-toggle,.hu-add-primary,.hu-config-entry,.ab-button,.ab-delete,.pager button,.flight-record-footer button){
 min-height:var(--ui-control-height);height:var(--ui-control-height);
 padding:5px 12px;border-radius:var(--ui-panel-radius);font-size:13px;line-height:20px;
}
#app #main :is(.hu-task-actions button,.hall-panel .hall-detail){
 min-height:var(--ui-control-height);height:var(--ui-control-height);
 border-radius:var(--ui-panel-radius);
}
#app #main :is(.hall-panel thead th,.hu-tracking th,.hu-funds-table th,.flight-record-panel th){
 height:var(--ui-table-header-height);font-size:13px;font-weight:500;
}
#app #main .hall-panel tbody td,
#app #main .hu-tracking tbody td:not(.hu-no-schemes),
#app #main .flight-record-panel tbody td:not(.hu-record-empty){height:var(--ui-table-row-height)}
#app #main .om-shared-header{height:var(--ui-table-header-height)}
/* A full-height table needs no reserved space for an inner vertical scrollbar. */
#app #main .flight-record-panel .table-wrap{scrollbar-gutter:auto}
body dialog[open]:modal,body #flight-settings-dialog:modal{border-radius:var(--ui-panel-radius)}
body dialog[open] :is(.dialog-header,.account-dialog-head,.flight-settings-head,.hu-dialog-head,.vp-order-head) h2{
 font-size:16px;line-height:26px;font-weight:600;
}
body dialog[open] :is(.tg-profile-card,.tg-windows-card){border-radius:var(--ui-panel-radius);box-shadow:none}
/* Neutral keyboard focus survives component rules that suppress field outlines. */
html[data-keyboard-navigation] body :is(#app,#login-screen,dialog) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):focus-visible{
 border-color:#8da9cf;outline:2px solid #8da9cf;outline-offset:2px;box-shadow:none;
}
@media(min-width:768px) and (max-width:1100px){
 #app #main .classic-table :is(th,td){padding-inline:6px}
 #app #main .classic-table th:nth-child(1){width:22%}
 #app #main .classic-table th:nth-child(2){width:29%}
 #app #main .classic-table th:nth-child(3){width:30%}
 #app #main .classic-table th:nth-child(4){width:19%}
}
@media(max-width:767px){
 :root{--ui-content-gap:12px;--ui-control-height:44px;--ui-page-title-size:20px}
 #app #main select:not([multiple]){height:var(--ui-control-height);min-height:var(--ui-control-height);font-size:16px}
 #app #main .classic-table :is(th,td){padding-inline:4px}
 #app #main .classic-table th:nth-child(1){width:22%}
 #app #main .classic-table th:nth-child(2){width:29%}
 #app #main .classic-table th:nth-child(3){width:30%}
 #app #main .classic-table th:nth-child(4){width:19%}
 #app #main .classic-table .classic-tag{min-width:20px;padding-inline:3px}
 #app #main .classic-history-tags{gap:3px}
 #app #main .classic-history-number strong{letter-spacing:0}
}
