refactor: reduce UI spacing and dimensions throughout desktop client for more compact layout
Reduce padding, gaps, and font sizes across all components. Change html/body/root from min-height to fixed height with overflow hidden. Decrease app-frame padding from 18px to 12px and add grid-template-rows with overflow handling. Reduce brand lockup logo from 54px to 44px and adjust gaps throughout. Decrease button padding, surface padding, and card padding. Reduce body-grid sidebar from 290px to 250px.
This commit is contained in:
@@ -299,7 +299,6 @@ export function App() {
|
|||||||
<h4>Resources</h4>
|
<h4>Resources</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="access-hint">Press <strong>Sync</strong> after policy changes.</p>
|
|
||||||
<ul className="resource-stack">
|
<ul className="resource-stack">
|
||||||
{(state?.resources ?? ["No resources assigned yet"]).map((resource) => (
|
{(state?.resources ?? ["No resources assigned yet"]).map((resource) => (
|
||||||
<li key={resource}>{resource}</li>
|
<li key={resource}>{resource}</li>
|
||||||
|
|||||||
@@ -14,11 +14,12 @@
|
|||||||
html,
|
html,
|
||||||
body,
|
body,
|
||||||
#root {
|
#root {
|
||||||
min-height: 100vh;
|
height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
button,
|
button,
|
||||||
@@ -27,40 +28,44 @@ input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.client-shell {
|
.client-shell {
|
||||||
min-height: 100vh;
|
height: 100vh;
|
||||||
padding: 18px;
|
padding: 12px;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-frame {
|
.app-frame {
|
||||||
width: min(920px, 100%);
|
width: min(920px, 100%);
|
||||||
|
height: calc(100vh - 24px);
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 14px;
|
grid-template-rows: auto 1fr;
|
||||||
|
gap: 10px;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-strip {
|
.top-strip {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 16px;
|
gap: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-lockup {
|
.brand-lockup {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 14px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-lockup img {
|
.brand-lockup img {
|
||||||
width: 54px;
|
width: 44px;
|
||||||
height: 54px;
|
height: 44px;
|
||||||
border-radius: 16px;
|
border-radius: 12px;
|
||||||
box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
|
box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-copy {
|
.brand-copy {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 4px;
|
gap: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.eyebrow {
|
.eyebrow {
|
||||||
@@ -68,12 +73,21 @@ input {
|
|||||||
color: #75e3ba;
|
color: #75e3ba;
|
||||||
letter-spacing: 0.18em;
|
letter-spacing: 0.18em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
font-size: 0.74rem;
|
font-size: 0.68rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-copy h1,
|
.brand-copy h1,
|
||||||
.status-panel h3 {
|
.status-panel h3 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
line-height: 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand-copy h1 {
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand-copy p {
|
||||||
|
font-size: 0.98rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-copy p,
|
.brand-copy p,
|
||||||
@@ -96,7 +110,7 @@ input {
|
|||||||
.shell-button-secondary {
|
.shell-button-secondary {
|
||||||
border: 0;
|
border: 0;
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
padding: 10px 16px;
|
padding: 9px 15px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: 160ms ease;
|
transition: 160ms ease;
|
||||||
@@ -130,16 +144,20 @@ input {
|
|||||||
|
|
||||||
.body-grid {
|
.body-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: minmax(0, 1fr) 290px;
|
grid-template-columns: minmax(0, 1fr) 250px;
|
||||||
gap: 16px;
|
gap: 12px;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-panel,
|
.login-panel,
|
||||||
.status-panel {
|
.status-panel {
|
||||||
border-radius: 28px;
|
border-radius: 28px;
|
||||||
padding: 18px;
|
padding: 14px;
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 14px;
|
gap: 10px;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-panel > p {
|
.status-panel > p {
|
||||||
@@ -152,14 +170,14 @@ input {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 16px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-state {
|
.status-state {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
padding: 8px 12px;
|
padding: 6px 10px;
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
background: rgba(255, 255, 255, 0.04);
|
background: rgba(255, 255, 255, 0.04);
|
||||||
color: #c8d6ee;
|
color: #c8d6ee;
|
||||||
@@ -178,9 +196,9 @@ input {
|
|||||||
|
|
||||||
.surface {
|
.surface {
|
||||||
border-radius: 24px;
|
border-radius: 24px;
|
||||||
padding: 14px;
|
padding: 12px;
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 12px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.surface-header {
|
.surface-header {
|
||||||
@@ -192,54 +210,57 @@ input {
|
|||||||
|
|
||||||
.surface-header h4 {
|
.surface-header h4 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 1rem;
|
font-size: 0.95rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-grid,
|
.status-grid,
|
||||||
.profile-grid {
|
.profile-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
gap: 10px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-card,
|
.detail-card,
|
||||||
.profile-card {
|
.profile-card {
|
||||||
padding: 12px;
|
padding: 10px 12px;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
background: rgba(255, 255, 255, 0.03);
|
background: rgba(255, 255, 255, 0.03);
|
||||||
border: 1px solid rgba(177, 197, 229, 0.1);
|
border: 1px solid rgba(177, 197, 229, 0.1);
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 5px;
|
gap: 4px;
|
||||||
|
min-height: 72px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-card strong,
|
.detail-card strong,
|
||||||
.profile-card strong {
|
.profile-card strong {
|
||||||
font-size: 0.98rem;
|
font-size: 0.92rem;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.detail-card span {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
.resource-stack {
|
.resource-stack {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 8px;
|
gap: 6px;
|
||||||
|
align-content: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.resource-stack li {
|
.resource-stack li {
|
||||||
padding: 12px 14px;
|
padding: 10px 12px;
|
||||||
border-radius: 16px;
|
border-radius: 14px;
|
||||||
background: rgba(255, 255, 255, 0.03);
|
background: rgba(255, 255, 255, 0.03);
|
||||||
border: 1px solid rgba(177, 197, 229, 0.1);
|
border: 1px solid rgba(177, 197, 229, 0.1);
|
||||||
color: #eef4ff;
|
color: #eef4ff;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
min-height: 54px;
|
min-height: 44px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
font-size: 0.94rem;
|
||||||
|
|
||||||
.access-hint {
|
|
||||||
font-size: 0.95rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-panel form {
|
.login-panel form {
|
||||||
@@ -268,12 +289,13 @@ input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
padding: 12px 14px;
|
padding: 10px 12px;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
background: rgba(255, 115, 115, 0.08);
|
background: rgba(255, 115, 115, 0.08);
|
||||||
border: 1px solid rgba(255, 115, 115, 0.16);
|
border: 1px solid rgba(255, 115, 115, 0.16);
|
||||||
color: #ffc3c3;
|
color: #ffc3c3;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
|
font-size: 0.95rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 960px) {
|
@media (max-width: 960px) {
|
||||||
|
|||||||
Reference in New Issue
Block a user