@charset "UTF-8";

:root{
	--forest-ink:#18362a;
	--forest-muted:#667c70;
	--forest-deep:#123d28;
	--forest:#247a4b;
	--forest-dark:#185d38;
	--forest-leaf:#55a86f;
	--forest-pale:#e7f4ea;
	--forest-mist:#f3f8f4;
	--forest-line:#d5e5d9;
	--forest-gold:#c8a34b;
	--surface:#fff;
	--shadow-sm:0 6px 18px rgba(24,75,47,.08);
	--shadow-md:0 18px 48px rgba(24,75,47,.12);
	--radius-md:16px;
	--radius-lg:24px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:130px}
body{
	min-width:320px;
	margin:0;
	color:var(--forest-ink);
	font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",system-ui,-apple-system,"Segoe UI",sans-serif;
	line-height:1.65;
	background:
		radial-gradient(circle at 6% 4%,rgba(85,168,111,.16),transparent 30rem),
		radial-gradient(circle at 96% 24%,rgba(200,163,75,.10),transparent 25rem),
		#f1f7f2;
}
a,button,input,select,textarea{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,122,75,.25);outline-offset:2px}

#web_top{position:sticky;top:0;z-index:200;width:100%;overflow:visible;border-top:4px solid var(--forest);background:#fff;box-shadow:0 1px 0 rgba(18,61,40,.08)}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}
.site-header__inner{width:min(1180px,calc(100% - 48px));min-height:112px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-brand{min-width:0;display:inline-flex;align-items:center;gap:18px;color:var(--forest-deep)!important;text-decoration:none!important}
.site-brand__logo-wrap{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#fff,#edf6ef);box-shadow:inset 0 0 0 1px rgba(18,61,40,.08),var(--shadow-sm)}
#top_logo{width:66px;height:66px;object-fit:contain;cursor:pointer}
.site-brand__copy,#top_text{display:flex;flex-direction:column;align-items:flex-start}
.site-brand__eyebrow{margin-bottom:3px;color:var(--forest);font-size:12px;font-weight:900;letter-spacing:.18em}
#top_text strong{font-size:clamp(20px,2.2vw,29px);line-height:1.3;letter-spacing:.035em}
#top_text small{margin-top:4px;color:var(--forest-muted);font-size:14px;font-weight:700;letter-spacing:.12em}
.site-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
.header-action,.user_tool_button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:8px 18px!important;border:1px solid transparent;border-radius:999px;font-size:14px!important;font-weight:800;line-height:1.2;text-decoration:none!important;cursor:pointer}
.header-action--ghost,.user_tool_button{color:var(--forest-deep)!important;background:#eff5f0!important}
.header-action--ghost:hover,.user_tool_button:hover{color:var(--forest-dark)!important;background:var(--forest-pale)!important;transform:translateY(-1px)}
.header-action--primary{color:#fff!important;background:linear-gradient(135deg,var(--forest-leaf),var(--forest-dark));box-shadow:0 8px 18px rgba(36,122,75,.24)}
.header-action--primary:hover{color:#fff!important;box-shadow:0 11px 24px rgba(36,122,75,.32);transform:translateY(-1px)}
.user_tool_button--outline{background:#fff!important;border-color:var(--forest-line)}
#user_title.user-greeting{width:auto;max-width:180px;padding:0 8px 0 0;display:inline-flex;align-items:center;gap:10px;color:var(--forest-ink);text-align:left;cursor:default}
.user-greeting__avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;color:#fff;font-weight:900;background:linear-gradient(145deg,var(--forest-deep),var(--forest-leaf))}
.user-greeting small{display:block;color:var(--forest-muted);font-size:11px;font-weight:700;line-height:1.2}
.user-greeting>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

#body_box{position:relative;width:100%;padding:30px 0 64px}
#body_box>br{display:none}
#body_box>table>tbody>tr>td>table[width="1024"]{width:min(1180px,calc(100% - 48px))!important;margin:0 auto;border-collapse:separate;border-spacing:0}
#body_box>table>tbody>tr>td>table[width="1024"]>tbody>tr>td:not(.sidebar-cell){width:auto}
.sidebar-cell{width:220px!important;padding:0 24px 0 0}
.sidebar-nav{position:sticky;top:142px;width:100%;padding:16px;border:1px solid rgba(18,61,40,.08);border-radius:var(--radius-md);background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm)}
.sidebar-nav__label{padding:2px 10px 12px;color:#7b9182;font-size:12px;font-weight:900;letter-spacing:.16em}
.main_menu{width:100%;display:block;margin:0 0 5px;padding:0;text-align:left}
.main_menu a,.main_menu a:link,.main_menu a:visited,.main_menu a:active{width:100%;min-height:46px;padding:8px 10px;display:flex;align-items:center;gap:11px;border-radius:11px;color:#365744;font-size:14px;font-weight:750;line-height:1.35;text-decoration:none}
.main-menu__icon{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border-radius:9px;color:var(--forest-dark);font-size:12px;font-weight:900;background:var(--forest-pale)}
.main_menu a:hover,.main_menu a.is-active{color:var(--forest-deep);background:#eaf4ec}
.main_menu a:hover{transform:translateX(2px)}
.main_menu a.is-active{box-shadow:inset 3px 0 0 var(--forest)}
.main_menu a.is-active .main-menu__icon{color:#fff;background:var(--forest)}
.main_menu--section{margin:18px 0 6px;padding:0 10px;color:#829286;font-size:11px;font-weight:900;letter-spacing:.14em}

.text_box{position:relative;width:100%;min-height:160px;padding:0 0 26px;overflow:visible;border:1px solid rgba(18,61,40,.09);border-radius:var(--radius-lg);font-size:16px;background:rgba(255,255,255,.97);box-shadow:var(--shadow-md)}
.text_box_title{position:relative;margin:0 0 20px;padding:24px 30px 20px;border:0;border-bottom:1px solid var(--forest-line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:var(--forest-deep);font-size:24px;font-weight:900;letter-spacing:.035em;word-break:break-word;background:linear-gradient(90deg,#fff,#f4faf5)}
.text_box_title::before{content:"";position:absolute;left:30px;bottom:-2px;width:48px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--forest),var(--forest-gold))}
.text_box_title h1,.text_box_title h3,.text_box_title h4{margin:0;color:inherit;font-size:inherit;font-weight:inherit}
.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:28px;padding-bottom:24px}
.page-title__kicker{display:block;margin-bottom:4px;color:var(--forest);font-size:11px;font-weight:900;letter-spacing:.18em}
.page-title p,.auth-title p{margin:0;color:var(--forest-muted);font-size:14px;font-weight:600;letter-spacing:0}
.text_box>form,.text_box>.text_body{padding-left:30px;padding-right:30px}
.text_body{margin-bottom:14px;color:var(--forest-ink);text-align:left}
.news_box{width:calc(100% - 60px);min-height:72px;margin:0 30px 10px;padding:14px 18px;display:flex;align-items:center;gap:18px;border:1px solid transparent;border-radius:14px;background:var(--forest-mist)}
.news_box:hover{border-color:#c5dfcb;background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.news_date{width:155px;flex:0 0 155px;padding:6px 10px;border-radius:8px;color:#56705f;font-size:13px;font-variant-numeric:tabular-nums;text-align:center;background:#e8f0e9}
.news_title{position:relative;width:auto;flex:1;padding-right:28px;color:var(--forest-deep);font-weight:750;text-align:left;cursor:pointer}
.news_title::after{content:"→";position:absolute;right:2px;top:50%;color:var(--forest);font-size:19px;transform:translateY(-50%)}
.news_title a:link,.news_title a:visited,.news_title a:active{color:var(--forest-deep);text-decoration:none}
.news_title a:hover,.news_box:hover .news_title,.news_box:hover .news_title a{color:var(--forest)}
.news_body{padding:8px 30px 26px;color:#2d4a38;line-height:1.85;text-align:left}
.news_body img{max-width:100%;height:auto}
.news_annex{display:inline-flex;align-items:center;margin:4px 6px 4px 0;padding:9px 13px;border-radius:9px;color:var(--forest-dark);font-weight:700;background:var(--forest-pale)}
.news_annex:hover{color:var(--forest-deep);background:#d8ebdc}

.form-control,.bootstrap-select>.dropdown-toggle{min-height:44px;padding:9px 13px;border:1px solid #bfd5c5;border-radius:10px;color:var(--forest-ink);background:#fff;box-shadow:none}
textarea.form-control{min-height:120px}
.form-control:focus,.bootstrap-select.show>.dropdown-toggle{border-color:var(--forest);box-shadow:0 0 0 4px rgba(36,122,75,.12)}
.form-control[readonly],.form-control:disabled{color:#5f7465;background:#edf3ee}
.btn{min-height:42px;padding:8px 17px;border-radius:10px;font-weight:800}
.btn-primary{border-color:var(--forest);background:linear-gradient(135deg,var(--forest-leaf),var(--forest-dark));box-shadow:0 8px 18px rgba(36,122,75,.2)}
.btn-primary:hover,.btn-primary:focus{border-color:var(--forest-dark);background:linear-gradient(135deg,#3d965d,#124c2e);box-shadow:0 10px 24px rgba(36,122,75,.28);transform:translateY(-1px)}
.btn-link{color:var(--forest-dark)}
.table{color:var(--forest-ink);background:#fff}
.table thead th,.thead-dark th{border-color:var(--forest-line)!important;color:var(--forest-deep)!important;background:#e8f2ea!important;font-weight:800}
.table td,.table th,.project_table td,.result_table td{padding:12px;border-color:var(--forest-line);vertical-align:middle}
.table tbody tr:hover{background:#f4f9f5}
.text-danger{color:#b5513e!important}

.auth-page #body_box>table>tbody>tr>td>table[width="1024"]{width:min(760px,calc(100% - 48px))!important}
.auth-page.register-page #body_box>table>tbody>tr>td>table[width="1024"]{width:min(880px,calc(100% - 48px))!important}
.auth-card{overflow:hidden}
.auth-card::after{content:"";position:absolute;top:-72px;right:-72px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(85,168,111,.22),rgba(85,168,111,0) 68%);pointer-events:none}
.auth-title{padding-top:30px;padding-bottom:24px}.auth-title h1{font-size:27px}.auth-title p{margin-top:6px}
#form_login,#form_register,#form_profile{width:min(100%,720px);margin:0 auto;padding-top:10px;padding-bottom:12px}
#form_login .text_body,#form_register .text_body,#form_profile .text_body{margin-bottom:17px}
#form_login .label_style1,#form_register .label_style1,#form_profile .label_style1{color:#3e5947;font-weight:800}
#form_login .form-check-input{position:static;margin:0 7px 0 0;vertical-align:middle}
#form_login .form-check-input+label{color:var(--forest-muted);font-size:14px;vertical-align:middle}
.apply-organization{color:var(--forest-dark)!important;font-weight:800}
.body-cover{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;background:rgba(8,43,24,.58)!important;backdrop-filter:blur(4px)}
#apply_unit.tools-box{position:fixed!important;top:50%!important;left:50%!important;width:min(560px,calc(100% - 32px));max-height:calc(100vh - 48px);margin:0!important;overflow:auto;border:0!important;border-radius:18px!important;box-shadow:0 28px 80px rgba(8,43,24,.3);transform:translate(-50%,-50%)}
.q_title,.q_box,.q_box2,.q_son_title,.q_son_box,.result_table_title{width:min(100%,860px);border-color:var(--forest-line);background:#fff}
.q_title,.q_son_title{border-radius:12px;color:var(--forest-deep);font-weight:800}

@media(max-width:980px){
	.site-header__inner{width:min(100% - 32px,1180px);min-height:82px;gap:20px}
	.site-brand__eyebrow,#top_text small{display:none}
	.site-brand__logo-wrap{width:58px;height:58px;flex-basis:58px;border-radius:17px}
	#top_logo{width:51px;height:51px}.sidebar-nav{top:112px}#user_title.user-greeting{display:none}
}
@media(max-width:760px){
	#web_top{position:relative}.site-header__inner{width:calc(100% - 28px);min-height:76px;gap:12px}.site-brand{gap:10px}
	.site-brand__logo-wrap{width:46px;height:46px;flex-basis:46px;border-radius:13px}#top_logo{width:41px;height:41px}
	#top_text strong{max-width:10em;font-size:16px;letter-spacing:0}.header-action,.user_tool_button{min-height:38px;padding:7px 12px!important;font-size:13px!important}#user_set_button{display:none!important}
	#body_box{padding:18px 0 44px}#body_box>table>tbody>tr>td>table[width="1024"]{width:calc(100% - 24px)!important}
	#body_box>table>tbody>tr>td>table[width="1024"]>tbody>tr{display:flex;flex-direction:column}#body_box>table>tbody>tr>td>table[width="1024"]>tbody>tr>td{display:block;width:100%!important}
	.sidebar-cell{padding:0 0 14px}.sidebar-nav{position:static;display:flex;gap:6px;padding:9px;overflow-x:auto;border-radius:14px;scrollbar-width:thin}.sidebar-nav__label,.main_menu--section{display:none}
	.main_menu{width:auto;margin:0;flex:0 0 auto}.main_menu a,.main_menu a:link,.main_menu a:visited,.main_menu a:active{width:auto;min-height:40px;padding:6px 10px;white-space:nowrap}.main_menu a.is-active{box-shadow:none}.main-menu__icon{width:26px;height:26px;flex-basis:26px}
	.text_box{border-radius:17px}.text_box_title{padding:20px 20px 17px;border-radius:17px 17px 0 0;font-size:21px}.text_box_title::before{left:20px}.page-title{align-items:flex-start;flex-direction:column;gap:8px}
	.text_box>form,.text_box>.text_body{padding-left:18px;padding-right:18px}.news_box{width:calc(100% - 28px);margin:0 14px 10px;padding:14px;align-items:flex-start;flex-direction:column;gap:8px}.news_date{width:auto;flex-basis:auto;padding:4px 8px;text-align:left}.news_title{width:100%}.news_body{padding:4px 20px 22px}
	#form_login .label_style1,#form_register .label_style1,#form_profile .label_style1{display:block!important;width:100%!important;margin:0 0 6px;text-align:left}
	#form_login .input_style1,#form_login .input_style2,#form_register .input_style1,#form_profile .input_style1,#form_register .bootstrap-select,#form_profile .bootstrap-select{width:100%!important}
	.auth-page #body_box>table>tbody>tr>td>table[width="1024"],.auth-page.register-page #body_box>table>tbody>tr>td>table[width="1024"]{width:calc(100% - 24px)!important}.table-responsive,.text_body{overflow-x:auto}
}
@media(max-width:460px){.site-header__actions{gap:5px}.header-action--ghost{display:none!important}#top_text strong{font-size:14px}.site-brand__logo-wrap{width:42px;height:42px;flex-basis:42px}#top_logo{width:37px;height:37px}.text_box_title{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
