
.frea-page {
	background: #f7f3ea;
	min-height: 70vh;
	padding: clamp(3rem, 7vw, 6rem) 1rem;
}
.frea-shell {
	margin: 0 auto;
	max-width: 1180px;
}
.frea-header {
	margin: 0 auto 2rem;
	max-width: 760px;
	text-align: center;
}
.frea-header h1 {
	font-size: clamp(2.4rem, 6vw, 4.7rem);
	margin: .2rem 0 1rem;
}
.frea-kicker {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	margin: 0;
	text-transform: uppercase;
}
.frea-login-card,
.frea-message {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 12px 38px rgba(0,0,0,.06);
	margin: 0 auto;
	max-width: 540px;
	padding: clamp(1.5rem, 4vw, 2.75rem);
}
.frea-login-card input[type="text"],
.frea-login-card input[type="password"] {
	border: 1px solid #d7d2c8;
	border-radius: 10px;
	box-sizing: border-box;
	padding: .7rem .8rem;
	width: 100%;
}
.frea-login-card input[type="submit"] {
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	padding: .75rem 1.2rem;
}
.frea-userbar {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
	font-size: .9rem;
	margin-bottom: .8rem;
}
.frea-explorer {
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 18px;
	box-shadow: 0 12px 38px rgba(0,0,0,.05);
	overflow: hidden;
}
.frea-explorer-grid {
	display: grid;
	grid-template-columns: minmax(230px, 28%) 1fr;
	min-height: 540px;
}
.frea-folder-pane {
	background: #f3f1eb;
	border-right: 1px solid rgba(0,0,0,.08);
	overflow: auto;
	padding: 1rem;
}
.frea-folder-title {
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: .25rem .5rem 1rem;
	text-transform: uppercase;
}
.frea-folder-row {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	gap: .4rem;
	padding: .55rem .55rem .55rem calc(.55rem + (var(--depth) * .9rem));
	text-align: left;
	width: 100%;
}
.frea-folder-row:hover,
.frea-folder-row.is-active {
	background: #fff;
}
.frea-folder-toggle {
	display: inline-block;
	font-size: .75rem;
	width: .9rem;
}
.frea-file-pane {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.frea-toolbar {
	align-items: center;
	border-bottom: 1px solid rgba(0,0,0,.08);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: .85rem 1rem;
}
.frea-current-folder {
	font-weight: 800;
}
.frea-download-selected {
	background: #1d5b46;
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: .65rem 1rem;
}
.frea-download-selected:disabled {
	cursor: default;
	opacity: .4;
}
.frea-files {
	flex: 1;
	overflow: auto;
	padding: 1rem;
}
.frea-file-grid {
	display: grid;
	gap: .8rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.frea-file-card {
	background: #fff;
	border: 1px solid #ddd8cf;
	border-radius: 13px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	min-height: 175px;
	padding: 1rem;
	position: relative;
	text-align: center;
}
.frea-file-card:hover {
	border-color: #1d5b46;
}
.frea-file-card.is-selected {
	border-color: #1d5b46;
	box-shadow: inset 0 0 0 2px #1d5b46;
}
.frea-file-check {
	align-items: center;
	background: #1d5b46;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: .7rem;
	height: 20px;
	justify-content: center;
	position: absolute;
	right: .55rem;
	top: .55rem;
	width: 20px;
}
.frea-file-icon {
	font-size: 2.3rem;
	margin: .5rem 0 .7rem;
}
.frea-file-name {
	font-size: .9rem;
	font-weight: 800;
	overflow-wrap: anywhere;
}
.frea-file-doc {
	color: #6c685f;
	font-size: .76rem;
	margin-top: .45rem;
}
.frea-file-size {
	color: #8b867b;
	font-size: .7rem;
	margin-top: auto;
	padding-top: .55rem;
}
.frea-loading,
.frea-empty {
	color: #777168;
	padding: 2rem;
	text-align: center;
}
@media (max-width: 900px) {
	.frea-file-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 720px) {
	.frea-explorer-grid { grid-template-columns: 1fr; }
	.frea-folder-pane {
		border-bottom: 1px solid rgba(0,0,0,.08);
		border-right: 0;
		max-height: 230px;
	}
	.frea-file-pane { min-height: 430px; }
	.frea-toolbar { align-items: stretch; flex-direction: column; }
	.frea-file-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
