

    div.datedropper.primary .picker, div.datedropper.primary .pick-arw, div.datedropper.primary .pick-l { padding: 15px 0; }

    div.datedropper .picker .pick-lg ul.pick-lg-h, div.datedropper .picker ul.pick.pick-m li { font-size: 22px; font-weight: 500; }

    div.datedropper .pick-arw.pick-arw-s1 .pick-i-l:before { content:"<"; font-size:16px; font-weight: 100; color:#aaa; }
    div.datedropper .pick-arw.pick-arw-s1 .pick-i-r:before { content:">"; font-size:16px; font-weight: 100; color:#aaa; }
    div.datedropper .picker .pick-lg ul.pick-lg-h , 
    div.datedropper .picker ul.pick.pick-m { background: #fff; }

	/* #################### 달력 플러그인 Styling */
    div.datedropper.primary .picker { border-radius:10px; }
    div.datedropper .picker .pick-btns .pick-submit { height:42px; line-height:42px; border-radius:42px; width:60%; background:#111; border-radius:42px; }
    div.datedropper .picker .pick-btns .pick-submit:after { height:38px; line-height:38px; content:'종료일 선택하기'; font-size:14px; font-family: "notosans" !important; letter-spacing: 4px; font-weight: 200 !important; }

    div.datedropper.primary:before, div.datedropper.primary .pick-submit, div.datedropper.primary .pick-lg-b .pick-sl:before, div.datedropper.primary .pick-m, div.datedropper.primary .pick-lg-h { background:#999; }
    div.datedropper .picker ul.pick .pick-arw.pick-arw-s1 { opacity:1 !important; transform:none !important; }
    .picker-modal-overlay { background:#000; opacity:0.4; }
    .picker ul.pick li span { bottom:16px; font-size:14px; color:#ff8282; }


    div.datedropper.primary .pick-y.pick-jump, div.datedropper.primary .pick li span, div.datedropper.primary .pick-lg-b .pick-wke, div.datedropper.primary .pick-btn { color: #111; }

    div.datedropper .picker .pick-lg ul.pick-lg-b li:before { background: #000; width: 38px; height: 38px; transition:none; }
    div.datedropper .picker .pick-lg ul.pick-lg-b li.pick-sl { font-size: 16px; color: #fff; }

	div.datedropper .picker .pick-btns .pick-btn.pick-btn-sz { background:url('/assets/playdev/img/request/icon_arrow_size.jpg') no-repeat center #fff; border:1px solid #f4f4f4; right: 14px; bottom:14px; padding:0; transform:none; box-shadow:none; }
	div.datedropper .picker .pick-btns .pick-btn.pick-btn-sz:hover { border-color:#aaa; }
	div.datedropper .picker .pick-btns .pick-btn.pick-btn-sz:after { content:"";  }

	div.datedropper .picker .pick-btns .pick-submit { background:#000 ; }
	div.datedropper .picker .pick-btns .pick-submit:hover { transform:none; transition:none; top:0; box-shadow:none; }
	
	/* #################### 달력크기 */
	div.datedropper.picker-lg { width:500px !important; }
    div.datedropper.primary { width:400px; }
	
	.datePickerWrap { position:relative;  }
	.datePickerWrap:before { position:absolute; content:'프로젝트 예상 종료일'; left:0; top:0; width:100%; height:100%; line-height:50px; display:block; font-size:15px; text-align:left; color:#111; z-index:4; background: #f4f4f4; letter-spacing: 0; cursor: pointer; text-indent: 15px; font-size: 14px; }
	.datePickerWrap .datePicker { position:relative;  border:none; text-align:center; font-size:14px; cursor:pointer; 
	width:100%; height:36px; line-height:36px;  background:#f4f4f4; color:transparent; z-index:2;
		transition:all 300ms;
	}

	.datePickerWrap .agree { position:absolute;width:36px; height:36px; line-height:36px; text-align:center; cursor:pointer; display:none; }
	.datePickerWrap .agree img { vertical-align:middle; }

	.datePickerWrap.on:before { background:#fff; content:''; }
	.datePickerWrap.on .datePicker { color:#111; }
	.datePickerWrap.on .agree { display:block; left:4px; background:url("/assets/playdev/img/icons8/Checkmark-18_w.png") no-repeat center; z-index:4; }


	/* #################### 파일첨부 드래그앤드롭 */
	#request .write .dropZone { display:flex; align-items:center; justify-content:center; min-height:110px; padding:14px 20px; background:#f2f3f3; border:2px dashed #d5d5d5; border-radius:10px; cursor:pointer; transition:all 150ms; }
	#request .write .dropZone:hover, #request .write .dropZone.over { border-color:var(--color); background:#fff; }
	#request .write .dropZone:hover .dzText b, #request .write .dropZone.over .dzText b { color: var(--color); font-weight: 600; }
	#request .write .dropZone input[type="file"] { display:none !important; }
	#request .write .dropZone .dzText { display:block; color:#888; font-size:17px; line-height:1.5; text-align:center; }
	#request .write .dropZone .dzIcon { display:block; margin:0 auto 8px; color:#b5b5b5; transition:color 150ms, transform 200ms; }
	#request .write .dropZone:hover .dzIcon, #request .write .dropZone.over .dzIcon { color:var(--color); transform:translateY(-2px); }
	#request .write .dropZone .dzText b { display:block; font-weight:500; color:#444; padding: 0 0 3px 0; }

	#request .write .dropZone .dzText em { display:block; font-style:normal; font-size:15px; color:#aaa; }
	#request .write .dropZone.over .dzText b { color:var(--color); }
	#request .write .dropList { margin:0; padding:0; list-style:none; text-align:left; }
	#request .write .dropList li { display:flex; align-items:center; gap:16px; margin-top: 15px; padding:0 12px; height:62px; background:var(--colorBg); border-radius:10px; font-size:15px; color:#444; }
	#request .write .dropList li .th { flex:0 0 40px; width:40px; height:40px; border-radius:6px; overflow:hidden; background:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:600; color:#999; text-transform:uppercase; }
	#request .write .dropList li .th img { width:100%; height:100%; object-fit:cover; display:block; }
	#request .write .dropList li .nm { flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color: #999; font-size: 16px; }
	#request .write .dropList li .sz { color:#aaa; font-size:13px; }
	#request .write .dropList li button { width:32px; height:32px; padding:0; border:none; border-radius:32px; background:#fff; color:#aaa; font-size:18px; line-height:32px; cursor:pointer; }
	#request .write .dropList li button:hover { background:#fff; color:#000; }

	/* #################### 예산 셀렉트박스 - 푸터 FAMILY SITE(#selectbox) UI와 동일, 아래로 열림 */
	#request .write .selectArea.custom:after { display:none; }
	#request .write .selectArea.custom select { display:none; }
	#request .write .costSelect { position:relative; margin:0; user-select:none; -webkit-user-select:none; text-align:left; }
	#request .write .costSelect .value { height:64px; line-height:64px; padding:0 22px; margin:0; text-align:left; background:var(--colorBg); border-radius:10px; position:relative; color:#000; font-size:18px; letter-spacing:0; cursor:pointer; }
	#request .write .costSelect .value:after { content:''; position:absolute; right:22px; top:50%; width:7px; height:7px; border-right:2px solid #888; border-bottom:2px solid #888; transform:translateY(-70%) rotate(45deg); transition:all 100ms; }
	#request .write .costSelect .options { opacity:0; visibility:hidden; position:absolute; top:100%; left:0; width:100%; margin:0; padding:10px; list-style:none; background:#fff; border:2px solid #000; border-radius:12px; z-index:10; transition:all 100ms; }
	#request .write .costSelect .options li { height:48px; line-height:48px; padding:0 16px; white-space:nowrap; border-radius:10px; cursor:pointer; font-size:17px; color:#444; }
	#request .write .costSelect .options li:hover { background:#f4f4f4; }
	#request .write .costSelect .options li.on { color:#000; font-weight:600; }
	#request .write .costSelect.active .options { opacity:1; visibility:visible; margin-top:12px; }
	#request .write .costSelect.active .value:after { transform:translateY(-30%) rotate(225deg); }

	/* #################### 입력칸 제목 (플로팅 라벨) - 비어 있으면 가운데, 클릭/입력하면 위로 작게 */
	#request .write .rows.fl { position:relative; }
	#request .write .rows.fl:after { display:none; } /* 기존 왼쪽 위 필수 점 -> 라벨 옆으로 이동 */
	#request .write .rows.fl input { height:64px; line-height:normal; padding:22px 0 0 0; }
	#request .write .rows.fl textarea { padding-top:32px; }
	#request .write .rows.fl input::placeholder, #request .write .rows.fl textarea::placeholder { color:transparent; font-size:16px; transition:color 150ms; }
	#request .write .rows.fl input:focus::placeholder, #request .write .rows.fl textarea:focus::placeholder { color:#bbb; }
	#request .write .rows.fl label { position:absolute; left:22px; top: 33px; transform:translateY(-50%); margin:0; color:#888; font-size: 18px; line-height:1; pointer-events:none; font-weight: 400; }
	body.fl-anim #request .write .rows.fl label { transition:top 220ms cubic-bezier(.2,.7,.3,1), font-size 220ms cubic-bezier(.2,.7,.3,1), color 180ms; } /* 자동완성 등으로 값이 채워질 때 로딩 중 애니메이션 방지 - fl-anim은 푸터에서 로드 후 추가 */
	#request .write .rows.fl label:after { content:''; display:inline-block; width:5px; height:5px; margin:0 0 0 4px; border-radius:5px; background:var(--color); vertical-align:top; display: none; }
	#request .write .rows.fl.area label { top:30px; left:17px; } /* textarea 좌측 여백(15px+테두리 2px)에 맞춤 */
	#request .write .rows.fl input:focus + label, #request .write .rows.fl input:not(:placeholder-shown) + label, #request .write .rows.fl textarea:focus + label, #request .write .rows.fl textarea:not(:placeholder-shown) + label { top:20px; font-size:14px; color:#888; font-weight: 400; }
	#request .write .rows.fl input:focus + label, #request .write .rows.fl textarea:focus + label { color:var(--color); font-weight: 600; }

	/* 예산: 항상 값이 있으니 제목은 위에 고정 */
	#request .write .costSelect .value { line-height:normal; }
	#request .write .costSelect .value .lb { position:absolute; left:22px; top:17px; transform:translateY(-50%); color:#888; font-size:13px; line-height:1; }
	#request .write .costSelect .value .tx { position:absolute; left:22px; top:22px; bottom:0; display:flex; align-items:center; font-size:18px; color:#000; }


