:root {
	--bg-color: #0b0d12;
	--card-bg: rgba(15, 23, 42, 0.6);
	--accent-blue: #38bdf8;
	--accent-purple: #818cf8;
	--text-main: #f1f5f9;
	--text-dim: #94a3b8;
	--glass-border: rgba(255, 255, 255, 0.08);
}

@keyframes fadeInUp {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes listFadeUp {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #020617; }
::-webkit-scrollbar-thumb {
	background: var(--accent-blue);
	border-radius: 10px;
	box-shadow: 0 0 10px var(--accent-blue);
}

#SPACE_WRAP {
	position: relative;
	width: 100%;
	min-height: 100vh;
	background: #020617;
	overflow: hidden;
}

.nebula {
	position: absolute;
	width: 100%;
	height: 100%;
	background: radial-gradient(circle at 20% 30%, rgba(56, 189, 248, 0.05) 0%, transparent 40%), radial-gradient(circle at 80% 70%, rgba(129, 140, 248, 0.05) 0%, transparent 40%);
	z-index: 0;
}

#LIST {
	position: relative;
	z-index: 10;
	background: transparent;
	color: var(--text-main);
	font-family: 'Noto Sans KR', sans-serif;
	padding: 0px 0;
	width: 100%;
	margin: 0 auto;
	min-height: 100vh;
}

.TopTitle {
	padding: 40px 20px;
	border-bottom: 1px solid var(--glass-border);
	animation: listFadeUp 0.8s ease forwards;
	text-align: center;
}

.TopTitle p {
	font-family: 'Orbitron', sans-serif;
	font-size: 3rem;
	font-weight: 700;
	margin: 0;
	color: var(--accent-blue);
	letter-spacing: 4px;
	text-shadow: 0 0 15px rgba(56, 189, 248, 0.4);
}

.TopTitle span {
	font-size: 0.9rem;
	color: var(--text-dim);
}




/* 즐겨찾기 타이틀 섹션 */
.bar {  }
.bar ul { overflow: hidden;  }
.bar ul li { overflow: hidden; }

.bar ul:nth-child(1) {
	background-color: #182234;
	padding: 20px;
}
.bar ul:nth-child(2) {
	text-align: right;
}
.bar ul:nth-child(2) i {
	color: #ff0000;
}
.bar ul:nth-child(2) button {
	border-top: 0px;
	border-radius: 0px;
	border-bottom-left-radius: 6px;
	padding: 10px 50px;
}

.bar ul li:nth-child(1) { float: left;}
.bar ul li:nth-child(2) { float: right; }

.bar ul .pop_admin {
	display:none; 
	position:fixed; 
	top:0; left:0; 
	width:100%; 
	height:100%; 
	background:rgba(0,0,0,0.5); 
	justify-content:center; 
	align-items:center; 
	z-index:9999;
}

.bar ul .pop_admin .pop_box { height:800px; background:#0a1222; border: 1px solid #1b2b44; border-radius:4px; }

.bar ul .pop_admin .pop_box .title { background:#030c24; text-align: right; padding:10px; }
.bar ul .pop_admin .pop_box .title button { width:40px; height:40px; padding:10px; border-radius:4px; }



/* 프로젝트 타이틀 섹션 */
.project { 
	background:#1e2e48; border: 1px solid #1e2e48; border-top:0px; border-radius: 10px; border-top-right-radius:0px; border-top-left-radius:0px; 
	text-align: center; 
	margin:0px 10px; 
}
.project ul { 
	text-align: left;
	padding: 20px; 
}
.project ul li {
	background:#06142c;
	border: 1px solid #2b3950; border-radius: 10px; 
	text-align: center;
}
.project ul li p { overflow: hidden; }
.project ul li p .bt_view { float:left; }

.project ul li p:first-child	{ 
	background:#030f24;
	border-top-right-radius:10px; border-top-left-radius:10px;
	border-bottom: 1px solid #2b3950;
	font-size: 1.2rem; font-weight: 700; text-align: left;
	text-align: center;
	margin:0px 0px 10px 0px; padding:10px 20px; 
}
.project ul li p:nth-child(2) { 
	width:100% !important;
	height: 170px;
	line-height: 25px;;
	font-size: 1rem; 
	font-weight: 300;
	text-align: left;
	padding:10px 150px 20px 150px; 
	overflow-y: auto;  /* 세로 스크롤 자동 생성 (내용 많을 때만) */
    overflow-x: hidden;
}
.project ul li p:nth-child(3) { 
	width: 100% !important;
	border-top: 1px solid #2b3950;
	text-align: right;
	padding: 10px 20px 10px 20px;
}

.pro_bt { text-align: center; }
.pro_bt span { 
	display: inline-block;
	background: #1e2e48;
	border:1px solid #2b3950; border-radius: 6px;
	border-top: 0px;
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	color: #6bcffa;
	padding: 10px 0px;
	cursor: pointer;
}
.pro_bt span i { margin:0px 30px; }



.pro_bt span:hover {
	background: #06142c;
	border-color: var(--accent-blue);
	box-shadow: 0 0 10px var(--accent-blue);
	color: var(--accent-blue);
}

.project button {
	background: #030f24;
	border: 1px solid #1b2b44; border-radius: 6px;
	color: #d2ffe9;
	padding: 7px 14px;
}
.project button:hover {
	border-color: var(--accent-blue);
	color: var(--accent-blue);
	background: #06142c;
}

.board-ver {
	margin: 6px 20px 0 0;
	font-size: 0.82rem;
	letter-spacing: 1px;
	font-family: 'Orbitron', sans-serif;
    text-align: right;
}

.board-total {
	color: #cbd5e1;
}

.board-ver-sep {
	color: rgba(148, 163, 184, 0.7);
	margin: 0 8px;
}

.board-version {
	color: var(--accent-purple);
}

.Control-Bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 20px;
	background: var(--card-bg);
	border-radius: 7px;
	margin: 20px;
	border: 1px solid var(--glass-border);
	backdrop-filter: blur(10px);
	animation: listFadeUp 0.8s ease 0.2s forwards;
	opacity: 0;
	flex-wrap: wrap;
	gap: 10px;
}

.control-left,
.control-right {
	display: flex;
	gap: 8px;
	align-items: center;
}

button,
select {
	background: rgba(30, 41, 59, 0.8);
	border: 1px solid var(--glass-border);
	color: var(--text-main);
	padding: 10px 20px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 0.85rem;
	transition: 0.3s;
	outline: none;
	appearance: none;
	color-scheme: dark;
}

button:hover,
select:hover {
	background: rgba(56, 189, 248, 0.1);
	border-color: var(--accent-blue);
	box-shadow: 0 0 10px var(--accent-blue);
}

select option {
	background-color: #0f172a;
	color: #fff;
}

.toggle-btn.active {
	background: var(--accent-blue) !important;
	color: #000 !important;
	font-weight: bold;
	box-shadow: 0 0 15px var(--accent-blue);
}

.icon-only-btn {
	min-width: 40px;
	text-align: center;
	padding-left: 10px;
	padding-right: 10px;
}

.label-toggle-btn {
    padding:10px 20px;
}

.label-toggle-btn i { color: inherit; }

.label-star-icon { color: #fbbf24; }
.red-icon { color: #ff0000; }
.red-icon2 { color: #df6767; }
.code-icon { color: #ff00ff; }	
.memo-icon { color: #00ffbf; }	
.relay-icon { color: #00ff00; }	

.label-toggle-btn2 i {
	color: #7a7cff;
}

.btn-project-filter i { color: #38bdf8; }
.btn-ing-filter i { color: #22c55e; }
.btn-label-filter i { color: #fbbf24; }
.memo-note-btn i { color: #f472b6; }

.active { 
    background: var(--accent-blue) !important;
    font-weight: bold; 
    box-shadow: 0 0 15px var(--accent-blue); 
}

.active i { 
    color:#fff;
}

.live-search-input {
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--glass-border);
	border-radius: 6px;
	padding: 10px 20px;
	color: #fff;
	font-size: 0.85rem;
	width: 160px;
	outline: none;
	transition: 0.3s;
	height: 36px;
}

.live-search-input:hover {
    border-color: var(--accent-blue);
	box-shadow: 0 0 10px var(--accent-blue);
}
.btn-admin {
	background: #475569;
	color: #fff;
    padding:10px 20px;
}

.btn-write,
.btn-write:hover {
	background: var(--accent-blue);
	color: #000;
	font-weight: bold;
    padding:10px 20px;
}



.List-Table {
	width: 98%;
	margin: 0 auto;
	border-collapse: collapse;
	backdrop-filter: blur(5px);
	margin-bottom: 0;
}

.top-fixed-table {
	border-bottom: 2px solid var(--accent-blue);
}

.List-Table tr {
	opacity: 0;
	animation: listFadeUp 0.6s ease forwards;
	border-bottom: 1px solid var(--glass-border);
	transition: 0.2s;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.02);
}

.top-row {
	background: rgba(56, 189, 248, 0.05) !important;
	opacity: 1 !important;
}

.List-Table tr:hover { background: rgba(56, 189, 248, 0.07); }
.List-Table td { padding: 18px 15px; }

.Num {
	width: 70px;
	text-align: center;
	color: var(--text-dim);
	font-size: 0.85rem;
	font-family: 'Orbitron';
}

.top-num { color: var(--accent-blue); }

.Subject { font-size: 1rem; }

.Day {
	width: 400px;
	text-align: right;
	color: var(--text-dim);
	font-size: 0.85rem;
	padding-right: 25px !important;
}

.subject-comment {
	color: var(--accent-purple);
	font-size: 0.8rem;
	margin-left: 8px;
	font-family: Orbitron;
}

.st_badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: bold;
	margin-right: 10px;
	border: 1px solid rgba(255,255,255,0.2);
	vertical-align: middle;
}

.st_blue {
	color: var(--accent-blue);
	border-color: var(--accent-blue);
	background: rgba(56, 189, 248, 0.1);
}

.st_purple {
	color: var(--accent-purple);
	border-color: var(--accent-purple);
	background: rgba(129, 140, 248, 0.1);
}

.item-icons {
	display: inline-flex;
	gap: 8px;
	margin-right: 12px;
	color: var(--accent-blue);
	font-size: 0.9rem;
	vertical-align: middle;
}

.list-loader {
	text-align: center;
	padding: 50px;
	color: var(--accent-blue);
	display: none;
}

.no-signal {
	text-align: center;
	padding: 100px;
	color: var(--text-dim);
}

.NoticeLayer {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 95%;
	max-width: 800px;
	background: rgba(15, 23, 42, 0.95);
	padding: 35px;
	border-radius: 20px;
	border: 1px solid var(--accent-blue);
	z-index: 10001;
	box-shadow: 0 0 40px rgba(0,0,0,0.7);
	backdrop-filter: blur(20px);
}

.notice-title {
	font-size: 25px;
	margin-bottom: 25px;
	color: var(--accent-blue);
	font-family: Orbitron;
	letter-spacing: 1px;
}

.notice-content {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--text-main);
	max-height: 450px;
	overflow-y: auto;
	padding-right: 10px;
}

.notice-actions {
	border-top: 1px solid #203562;
	text-align: right;
	margin-top: 30px;
	padding-top: 10px;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

.btn-edit-notice {
	background: var(--accent-purple);
	color: #fff;
	border: none;
	padding: 7px 50px;;
}

.btn-edit-notice-dis {
	color: #fff;
	border: none;
	padding: 7px 50px;;
}

section#SCH {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(2, 6, 23, 0.85);
	z-index: 9999;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(10px);
}

.search-modal-box {
	background: rgba(15, 23, 42, 0.9);
	padding: 35px;
	border-radius: 20px;
	width: 90%;
	max-width: 420px;
	border: 1px solid var(--accent-blue);
}

.search-title {
	margin: 0 0 25px;
	color: var(--accent-blue);
	font-size: 1.1rem;
	font-family: 'Orbitron';
}

.search-input {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 2px solid var(--accent-blue);
	color: #fff;
	font-size: 1.2rem;
	outline: none;
	padding: 12px 5px;
}

.search-actions {
	margin-top: 30px;
	display: flex;
	gap: 12px;
}

.btn-search-submit {
	flex: 1;
	background: var(--accent-blue);
	color: #000;
	font-weight: bold;
	height: 45px;
}

.btn-search-cancel {
	flex: 1;
	background: none;
	border: 1px solid var(--text-dim);
	color: var(--text-dim);
}

.memo-side-panel {
	position: fixed;
	left: 14px;
	top: 14px;
	width: 360px;
	height: calc(100vh - 28px);
	display: flex;
	flex-direction: column;
	background: rgba(15, 23, 42, 0.96);
	border: 1px solid rgba(56, 189, 248, 0.28);
	box-shadow: 0 10px 30px rgba(2, 6, 23, 0.8);
	backdrop-filter: blur(12px);
	padding: 18px 16px 14px;
	border-radius: 10px;
	box-sizing: border-box;
	z-index: 11000;
	overflow: hidden;
	transform: translateX(-110%);
	transition: transform 0.25s ease;
}

.memo-side-panel.open {
	transform: translateX(0);
}

.memo-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 2px 2px 12px;
}

.memo-panel-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	font-family: 'Orbitron', sans-serif;
	color: #f472b6;
	font-weight: 700;
}

.memo-panel-close {
	padding: 6px 10px;
	font-size: 0.8rem;
	line-height: 1;
}

.memo-panel-layout-wrap {
	margin: 4px 0 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.memo-total-text {
	font-size: 0.78rem;
	font-family: 'Orbitron', sans-serif;
	font-weight: 700;
	letter-spacing: 0.4px;
	color: #cbd5e1;
	white-space: nowrap;
}

.memo-layout-switch {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 130px;
	height: 34px;
	padding: 0 10px;
	background: rgba(2, 6, 23, 0.72);
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 999px;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.08);
}

.memo-layout-label {
	position: relative;
	z-index: 2;
	font-size: 0.75rem;
	font-weight: 700;
	color: #94a3b8;
	letter-spacing: 0.2px;
}

.memo-layout-thumb {
	position: absolute;
	left: 4px;
	top: 4px;
	width: 58px;
	height: 24px;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(56, 189, 248, 0.45), rgba(129, 140, 248, 0.45));
	border: 1px solid rgba(125, 211, 252, 0.45);
	transition: transform 0.2s ease;
}

.memo-layout-switch.is-layout-2 .memo-layout-thumb {
	transform: translateX(64px);
}

.memo-layout-switch:not(.is-layout-2) .memo-layout-label-1,
.memo-layout-switch.is-layout-2 .memo-layout-label-2 {
	color: #e2e8f0;
}

.memo-card-list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	padding: 0 10px 14px 0;
	scrollbar-gutter: auto;
}

.memo-card-list.layout-2 {
	grid-template-columns: 1fr 1fr;
}

.memo-card-list::-webkit-scrollbar {
	width: 6px;
}

.memo-card-list::-webkit-scrollbar-track {
	background: transparent;
}

.memo-card-list::-webkit-scrollbar-thumb {
	background: transparent;
	border-radius: 8px;
}

.memo-card-list.has-scroll::-webkit-scrollbar-track {
	background: rgba(2, 6, 23, 0.78);
}

.memo-card-list.has-scroll::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, rgba(56, 189, 248, 0.55), rgba(129, 140, 248, 0.55));
	border: 1px solid rgba(56, 189, 248, 0.35);
}

.memo-card-list.has-scroll::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, rgba(56, 189, 248, 0.75), rgba(129, 140, 248, 0.75));
}

.memo-card-item {
	border: 1px solid rgba(56, 189, 248, 0.45);
	background: rgba(30, 41, 59, 0.7);
	border-radius: 6px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.memo-card-date {
	font-size: 0.72rem;
	color: #cbd5e1;
	font-family: 'Orbitron', sans-serif;
}

.memo-card-content {
	font-size: 0.82rem;
	line-height: 1.55;
	color: #e2e8f0;
	min-height: 52px;
	word-break: break-word;
}

.memo-card-link {
	text-decoration: none;
	text-align: center;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 6px 8px;
	border-radius: 7px;
	border: 1px solid rgba(56, 189, 248, 0.4);
	color: #7dd3fc;
	background: rgba(56, 189, 248, 0.08);
}

.memo-card-link:hover {
	border-color: var(--accent-blue);
	color: #dbeafe;
	box-shadow: 0 0 8px rgba(56, 189, 248, 0.2);
}

.memo-empty {
	color: var(--text-dim);
	font-size: 0.85rem;
	padding: 20px 6px;
}

#SPACE_WRAP.memo-open #LIST {
	padding-left: 360px;
	transition: padding-left 0.25s ease;
}

.List-Table tr.see-row {
	background: rgba(0, 0, 0, 0.84);
	border-bottom-color: rgba(74, 222, 128, 0.28);
}

.List-Table tr.see-row .Subject,
.List-Table tr.see-row .Subject strong {
	color: #86efac;
	font-weight: 700;
	text-shadow: 0 0 10px rgba(74, 222, 128, 0.25);
}

.List-Table tr.see-row .Day,
.List-Table tr.see-row .Num {
	color: #bbf7d0;
}

.List-Table tr.see-row .item-icons {
	color: var(--accent-blue);
}

.List-Table tr.see-row:hover,
.top-row.see-row:hover {
	background: rgba(3, 12, 6, 0.96) !important;
	box-shadow: inset 0 0 0 1px rgba(74, 222, 128, 0.2);
}

@media (max-width: 1200px) {
	#SPACE_WRAP.memo-open #LIST {
		padding-left: 0;
	}
	.memo-side-panel {
		left: 0;
		top: 0;
		height: 100vh;
		border-radius: 0;
	}
}
