.home-grid
{
	display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(430px, .7fr);
    grid-template-areas: "links visual";
    gap: 14px 20px;
    align-items: start;
}

.left-column
{
    grid-area: links;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.intro-panel
{
	padding: 30px;
}

.intro-layout
{
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr);
    gap: 30px;
    align-items: start;
}

.intro-content
{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	text-align: justify;
}

.ablauf
{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.ablauf img
{
    width: 100%;
    height: auto;
    object-fit: contain;
	opacity: .9;
}

.actions-row,
.action-rows
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.visual
{
	grid-area: visual;
	align-self: stretch;
	display: flex;
	align-items: flex-start;
}

.visual img
{
    width: 100%;
    height: auto;
	min-height: 760px;
    object-fit: cover;
}

.feature-panel
{
	display: grid;
    grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: minmax(100px, auto);
    gap: 15px;
}

.feature-box
{
    padding: 14px 14px 12px;
	background: rgba(0, 0, 0, .4);
	border: 1px solid var(--line);
}

.feature-box h3
{
	margin-bottom: 15px;
	font-family: var(--font-title);
    font-size: 1.1rem;
	font-weight: 600;
    line-height: 1.16;
    color: var(--accent-soft);

}

.feature-box p
{
	margin: 0;
	color: var(--text);
	line-height: 1.54;
	font-size: 1rem;
	letter-spacing: .07em;
	font-family: var(--font-meta);
}

/* ============================================================================== */
/* DASHBOARD
/* ============================================================================== */

.dashboard-grid
{
	display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, .5fr) minmax(430px, .7fr);
    grid-template-areas: "links stats visual";
    gap: 14px 20px;
    align-items: start;
}

.dashboard-highlights
{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-highlight-box
{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
	text-align: left;
}

.dashboard-highlight-box h3
{
    margin-bottom: 12px;
    font-size: 1.6rem;
    color: var(--accent-soft);
}

.campaign-list
{
	display: grid;
	gap: 12px;
}

.campaign-card
{
	padding: 14px;
	background: transparent;
	border: 1px solid var(--line);
}

.campaign-card-top
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin-bottom: 5px;
	font-family: var(--font-primary);
	font-size: 1rem;
}

.status-badge
{
    display: inline-flex;
    align-items: center;
    padding: 2px 10px 1px;
    border: 1px solid rgba(232, 198, 93, .22);
    color: var(--accent-soft);
    background: var(--line);
    text-transform: uppercase;
	font-family: var(--font-meta);
	font-size: .64rem;
    letter-spacing: .10em;
}


.campaign-facts
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 8px;
	margin: 0;
}

.campaign-facts div
{
	padding: 8px 10px 6px;
	background: rgb(57, 76, 85, .4);
	border: 1px solid rgb(73, 95, 104, .3);
}

.campaign-facts dt
{
	margin: 0 0 4px;
	color: var(--text-dim);
	font-size: .70rem;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.campaign-facts dd
{
	margin: 0;
	color: var(--text);
	font-family: var(--font-primary);
	font-size: .88rem;
}

.expedition,
.screws
{
	margin-top: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.expedition img,
.screws img
{
    width: 100%;
    height: auto;
    object-fit: contain;
	opacity: .9;
}

/* ==============================================================================
/* RESPONSIVE LAYOUTS
/* ============================================================================== */

@media (max-width: 1800px)
{
	.dashboard-grid
	{
		grid-template-columns: minmax(0, .7fr) minmax(0, .7fr) minmax(430px, .6fr);
	}

	.intro-panel
	{
		padding: 20px;
	}

}

@media (max-width: 1400px)
{
	.dashboard-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas: "links stats";
	}

	.dashboard-visual
	{
		display: none;
	}
}

@media (max-width: 1200px)
{

	.intro-layout
	{
        grid-template-columns: 1fr;
	}

	.ablauf
	{
		display: none;
	}

	.feature-panel
	{
        grid-template-columns: repeat(2, 1fr);
	}


}

@media (max-width: 1000px)
{

	body .home-grid
    {
        display: block;
    }


	body .visual
	{
		margin-top: 14px;
	}


	body .intro-panel
	{
        padding: 20px;
	}

	.dashboard-grid
	{
        grid-template-columns: 1fr;
        grid-template-areas: "links";
    }
}

@media (max-width: 650px)
{

	body .home-grid
    {
        gap: 12px;
    }

}


@media (max-width: 600px)
{

	body .intro-panel
	{
        padding: 14px;
	}

	.feature-panel
	{
        grid-template-columns: 1fr;
	}

}
.first-echo-modal-dialog {
    border-radius: 22px;
    background: rgba(13, 18, 22, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 90px rgba(0, 0, 0, 0.45);
    color: var(--text, #f3f6f4);
}

.first-echo-roll {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-family: var(--font-mono, monospace);
}

.first-echo-objectives {
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
}

.first-echo-objectives strong {
    display: block;
    margin-bottom: 10px;
}

.first-echo-objectives ol {
    margin: 0;
    padding-left: 20px;
}

.first-echo-objectives li + li {
    margin-top: 8px;
}
