default.scss 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684
  1. @charset "UTF-8";
  2. .max--w320{
  3. max-width:320px;
  4. }
  5. .container{
  6. height:100%;
  7. .content{
  8. height:100%;
  9. display: flex;
  10. aside{
  11. width:250px;
  12. border-right:1px solid #ccc;
  13. .aside--main--title{
  14. padding:20px;
  15. background: #33559B;
  16. color:#fff;
  17. font-size:20px;
  18. }
  19. .aside--list{
  20. display: flex;
  21. flex-direction: column;
  22. .v-btn{
  23. padding:15px 10px;
  24. font-size:16px;
  25. cursor: pointer;
  26. justify-content: flex-start;
  27. padding-left:20px;
  28. &.actv{
  29. background:#e4e4e4;
  30. }
  31. }
  32. }
  33. }
  34. .main{
  35. padding: 20px;
  36. width:calc(100%);
  37. .data--list--wrap{
  38. width:100%;
  39. .btn--actions--wrap{
  40. display: flex;
  41. align-items: center;
  42. justify-content: space-between;
  43. padding-bottom:25px;
  44. }
  45. .left--sections{
  46. display: flex;
  47. gap: 1rem;
  48. }
  49. .right--sections{
  50. display: flex;
  51. gap: 1rem;
  52. .caption--wrap{
  53. display: flex;
  54. align-items: center;
  55. position: relative;
  56. .ico{
  57. font-size: 1rem;
  58. width: 2rem;
  59. height: 2rem;
  60. text-align: center;
  61. cursor: pointer;
  62. line-height: 2rem;
  63. border-radius: 50%;
  64. background-color: #F74F78;
  65. color: #fff;
  66. display: inline-block;
  67. position: relative;
  68. font-style: normal;
  69. }
  70. .caption--box{
  71. position: absolute;
  72. font-size: 0.875rem;
  73. bottom: 100%;
  74. border: 2px solid #DFE7EF;
  75. background-color: #fff;
  76. border-radius: 10px;
  77. right:0;
  78. line-height: 1.4;
  79. padding: 15px 20px;
  80. white-space: nowrap;
  81. color: #9DA9B6;
  82. z-index: 10;
  83. display: none;
  84. }
  85. &:hover{
  86. .caption--box{
  87. display: block;
  88. }
  89. }
  90. }
  91. }
  92. .item--section{
  93. border: 1px solid #ccc;
  94. padding: 2rem;
  95. display: flex;
  96. gap: 1rem;
  97. border-radius: 1rem;
  98. margin-bottom: 25px;
  99. .item--thumb{
  100. background-color: #d9d9d9;
  101. justify-content: center;
  102. align-items: center;
  103. width: 20%;
  104. height: auto;
  105. overflow: hidden;
  106. display: flex;
  107. &.min--240{
  108. min-height: 240px;
  109. }
  110. img{
  111. width: 100%;
  112. height: 100%;
  113. object-fit: cover;
  114. }
  115. }
  116. .item--info{
  117. display: flex;
  118. flex-direction: column;
  119. h2{
  120. font-size: 1.5rem;
  121. margin-bottom: 1rem;
  122. }
  123. p{
  124. font-size: 1rem;
  125. line-height: 1.4;
  126. }
  127. }
  128. }
  129. }
  130. .search--modules{
  131. width:100%;
  132. display: flex;
  133. align-items: center;
  134. justify-content: center;
  135. gap:10px;
  136. border: 1px solid #eee;
  137. border-radius: 15px;
  138. padding:20px;
  139. margin-top:25px;
  140. background: #f0f4ff;
  141. &.type2{
  142. flex-direction: column;
  143. align-items: flex-start;
  144. position: relative;
  145. .search--inner{
  146. width: calc(100% - 120px);
  147. gap: 10px;
  148. display: flex;
  149. }
  150. .sch--btn{
  151. position: absolute;
  152. right: 20px;
  153. top: 20px;
  154. height: calc(100% - 40px);
  155. }
  156. }
  157. .month--selector{
  158. display: flex;
  159. align-items: center;
  160. overflow: hidden;
  161. border-radius: 10px;
  162. margin-left: 10px;
  163. background: #fff;
  164. border:1px solid #E2E2E2;
  165. .v-btn{
  166. color: #666;
  167. font-size: 0.8rem;
  168. height: 2.25rem;
  169. font-style: normal;
  170. font-weight: 500;
  171. line-height: 100%; /* 12px */
  172. letter-spacing: -0.48px;
  173. padding:0 1.2rem;
  174. border-radius: 0px;
  175. position: relative;
  176. &.actv{
  177. color:#fff;
  178. background-color:#007aff;
  179. &:after{
  180. display: none;
  181. }
  182. }
  183. }
  184. }
  185. .form--cont--filter{
  186. width:100%;
  187. max-width:10.5rem;
  188. }
  189. .form--cont--text{
  190. width:100%;
  191. max-width:calc(100% - 10.5rem);
  192. }
  193. .sch--btn{
  194. // height:36px;
  195. height: 2.25rem;
  196. max-width:80px;
  197. }
  198. }
  199. .inner--headers{
  200. display: flex;
  201. align-items: center;
  202. justify-content: space-between;
  203. margin-bottom:20px;
  204. > h2{
  205. font-size:1.625rem;
  206. }
  207. .bread--crumbs--wrap{
  208. display: flex;
  209. align-items: center;
  210. gap:5px;
  211. span{
  212. font-size:.9rem;
  213. font-weight: 500;
  214. display: flex;
  215. align-items: center;
  216. gap:5px;
  217. &:before{
  218. content:"";
  219. display: inline-flex;
  220. width:15px;
  221. height:15px;
  222. background: url(../img/ic_arrow_right_chv.svg) no-repeat center;
  223. }
  224. &:nth-of-type(1){
  225. &:before{
  226. display: none;
  227. }
  228. }
  229. &:last-child{
  230. font-weight: bold;
  231. }
  232. }
  233. }
  234. }
  235. .item--list--wrap{
  236. .no--data{
  237. padding-top: 80px;
  238. text-align: center;
  239. }
  240. .item--list{
  241. display: flex;
  242. gap: 20px;
  243. .item{
  244. position: relative;
  245. cursor: pointer;
  246. width: calc((100% - 80px) / 5);
  247. border-radius: 20px;
  248. border: 1px solid #cccccc;
  249. padding: 1rem 1rem 1rem 1rem;
  250. .item--img {
  251. width: 100%;
  252. height: 10rem;
  253. background-color: #eee;
  254. border-radius: 20px;
  255. margin-bottom: 1.2rem;
  256. overflow: hidden;
  257. position: relative;
  258. img {
  259. width: 100%;
  260. height: 100%;
  261. object-fit: cover;
  262. object-position: center;
  263. position: absolute;
  264. top: 0;
  265. left: 0;
  266. }
  267. }
  268. h3{
  269. color: #444444;
  270. font-size: 1rem;
  271. overflow: hidden;
  272. line-height: 1.2;
  273. text-overflow: ellipsis;
  274. display: -webkit-box;
  275. -webkit-line-clamp: 2;
  276. -webkit-box-orient: vertical;
  277. margin-bottom: 1rem;
  278. }
  279. p{
  280. color: #888;
  281. line-height: 1.2;
  282. font-size: 0.8rem;
  283. margin-bottom: 0.8rem;
  284. }
  285. span{
  286. color: #999;
  287. line-height: 1.2;
  288. display: block;
  289. font-size: 0.8rem;
  290. }
  291. .sold--out{
  292. position: absolute;
  293. top: 0;
  294. left: 0;
  295. width: 100%;
  296. height: 100%;
  297. background-color: rgba(0,0,0,0.2);
  298. border-radius: 18px;
  299. display: flex;
  300. align-items: center;
  301. justify-content: center;
  302. &.blue--type{
  303. >span{
  304. background-color: #007aff;
  305. }
  306. }
  307. >span{
  308. color: #ffffff;
  309. text-align: center;
  310. font-size: 1.2rem;
  311. font-weight: 500;
  312. display: inline-block;
  313. padding: 0.8rem 3rem;
  314. background-color: red;
  315. border-radius: 50px;
  316. }
  317. }
  318. }
  319. }
  320. .cs--list--wrap{
  321. border: 1px solid #eee;
  322. border-radius: 15px;
  323. overflow: hidden;
  324. box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  325. .cs--header{
  326. background-color: #f0f4ff;
  327. padding: 20px 25px;
  328. height: 4rem;
  329. display: flex;
  330. align-items: center;
  331. justify-content: space-between;
  332. border-bottom: 1px solid #eee;
  333. h3{
  334. font-size: 1.2rem;
  335. font-weight: 600;
  336. color: #555;
  337. }
  338. .custom-btn{
  339. height: 2.5rem;
  340. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  341. border-radius: 10px;
  342. width: 10%;
  343. color:#fff;
  344. font-weight: 500;
  345. transition: all 0.3s ease;
  346. box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
  347. &:hover {
  348. transform: translateY(-1px);
  349. box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  350. }
  351. }
  352. }
  353. .cs--list{
  354. .list{
  355. padding: 20px 25px;
  356. cursor: pointer;
  357. border-bottom: 1px solid #f0f0f0;
  358. transition: all 0.3s ease;
  359. display: flex;
  360. gap: 15px;
  361. align-items: center;
  362. &:hover {
  363. background-color: #f8f9ff;
  364. border-left: 4px solid #667eea;
  365. padding-left: 21px;
  366. }
  367. &:last-child {
  368. border-bottom: none;
  369. }
  370. > span, > div, > h3 {
  371. font-size: 0.9rem;
  372. &.list--seq { // SEQ
  373. font-weight: 600;
  374. color: #667eea;
  375. text-align: center;
  376. background: #f0f4ff;
  377. padding: 5px 10px;
  378. border-radius: 12px;
  379. font-size: 0.8rem;
  380. }
  381. &.list--circle {
  382. background: linear-gradient(135deg, #667eea, #764ba2);
  383. color: white;
  384. padding: 6px 12px;
  385. border-radius: 15px;
  386. font-size: 0.8rem;
  387. font-weight: 500;
  388. text-align: center;
  389. white-space: nowrap;
  390. // 마감
  391. &.status--off {
  392. background: linear-gradient(135deg, #727c89 0%, #8ca6ce 100%);
  393. color: white;
  394. box-shadow: 0 2px 6px rgba(145, 168, 200, 0.3);
  395. }
  396. }
  397. &.list--writer { // NICK_NAME + NAME + COM
  398. color: #666;
  399. font-weight: 500;
  400. font-size: 0.9rem;
  401. }
  402. &.list--title { // TITLE
  403. color: #333;
  404. font-weight: 600;
  405. line-height: 1.4;
  406. overflow: hidden;
  407. text-overflow: ellipsis;
  408. width: 70%;
  409. white-space: nowrap;
  410. }
  411. &.list--ml {
  412. margin-left: auto;
  413. }
  414. &.status-waiting {
  415. color: #ffffff;
  416. background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
  417. padding: 4px 8px;
  418. border-radius: 10px;
  419. font-size: 0.8rem;
  420. font-weight: 600;
  421. box-shadow: 0 2px 6px rgba(255, 107, 107, 0.3);
  422. }
  423. &.status-completed {
  424. color: #ffffff;
  425. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  426. padding: 4px 8px;
  427. border-radius: 10px;
  428. font-size: 0.8rem;
  429. font-weight: 600;
  430. box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
  431. }
  432. &.list--date { // REGDATE
  433. color: #999;
  434. font-size: 0.8rem;
  435. text-align: right;
  436. }
  437. }
  438. }
  439. // 데이터가 없을 때
  440. .no-data {
  441. padding: 60px 20px;
  442. text-align: center;
  443. color: #999;
  444. &:before {
  445. content: "📋";
  446. display: block;
  447. font-size: 3rem;
  448. margin-bottom: 15px;
  449. }
  450. h4 {
  451. font-size: 1.1rem;
  452. color: #666;
  453. margin-bottom: 8px;
  454. }
  455. p {
  456. font-size: 0.9rem;
  457. color: #999;
  458. }
  459. }
  460. }
  461. }
  462. .item--pagination{
  463. display: flex;
  464. justify-content: center;
  465. margin-top: 30px;
  466. gap: 30px;
  467. .v-pagination{
  468. width: 50%;
  469. max-width: 800px;
  470. }
  471. .v-btn{
  472. padding: 0;
  473. width: 50px;
  474. height: 50px;
  475. border-radius: 100px;
  476. min-width: 50px;
  477. border: 1px solid #DDD;
  478. background: #FFF;
  479. &.v-btn--disabled{
  480. opacity: 0.5;
  481. }
  482. .v-btn__content{
  483. color: #909090;
  484. font-size: 16px;
  485. font-weight: 400;
  486. line-height: 1;
  487. }
  488. &.prev--btn{
  489. background-image: url(/assets/img/ico_paging_prev.svg);
  490. background-repeat: no-repeat;
  491. background-position: center;
  492. }
  493. &.next--btn{
  494. background-image: url(/assets/img/ico_paging_next.svg);
  495. background-repeat: no-repeat;
  496. background-position: center;
  497. }
  498. }
  499. }
  500. }
  501. }
  502. }
  503. }
  504. /**********************************************
  505. | ag-grid
  506. **********************************************/
  507. .tbl-wrap {
  508. .ag-paging-panel {
  509. padding: 1.25rem 0px;
  510. }
  511. .ag-header-cell-resize {
  512. &:after {
  513. width: 1px;
  514. height: 1.25rem;
  515. top: calc(50% - (1.25rem)*0.5);
  516. }
  517. }
  518. .ag-checkbox-input-wrapper {
  519. &:after {
  520. content: '';
  521. width: 1rem;
  522. height: 1rem;
  523. background: url(../img/ico_chk_off.svg);
  524. background-repeat: no-repeat;
  525. }
  526. &.ag-checked {
  527. &:after {
  528. content: '';
  529. background: url(../img/ico_chk_on.svg);
  530. background-repeat: no-repeat;
  531. }
  532. }
  533. &.ag-indeterminate {
  534. &:after {
  535. content: '';
  536. background: url(../img/ico_check_indeterminate.svg);
  537. background-repeat: no-repeat;
  538. }
  539. }
  540. }
  541. .ag-root-wrapper {
  542. .ag-header-cell {
  543. padding: 0rem 1.25rem;
  544. }
  545. .ag-header-cell-text {
  546. text-align: left;
  547. }
  548. .ag-root-wrapper-body {
  549. &.ag-layout-normal {
  550. height: 100%;
  551. }
  552. }
  553. .ag-cell-label-container {
  554. height: 3.125rem;
  555. }
  556. .ag-header-cell-text {
  557. color: #444;
  558. font-size: 0.875rem;
  559. font-style: normal;
  560. font-weight: 700;
  561. }
  562. .ag-header {
  563. border-top: 0px;
  564. .ag-header-container {
  565. background: #F2F7FF;
  566. }
  567. &.ag-header-allow-overflow {
  568. .ag-header-row {
  569. background: #F2F7FF;
  570. }
  571. }
  572. }
  573. .ag-center-cols-container {
  574. .ag-row {
  575. &.disabled{
  576. opacity: .5;
  577. pointer-events: none;
  578. }
  579. .ag-cell {
  580. color: #444;
  581. font-size: 0.875rem;
  582. font-style: normal;
  583. font-weight: 400;
  584. text-align: left;
  585. justify-content: flex-start;
  586. padding: 0px 1.25rem;
  587. }
  588. }
  589. }
  590. }
  591. .ag-overlay-no-rows-center {
  592. display: flex;
  593. align-items: center;
  594. justify-content: center;
  595. gap: 0.62rem;
  596. color: #444;
  597. text-align: center;
  598. font-size: 0.875rem;
  599. font-weight: 700;
  600. &:before {
  601. content: '';
  602. display: inline-flex;
  603. width: 1.25rem;
  604. height: 1.25rem;
  605. background: url(../img/ico_no_data_nw.svg);
  606. background-size: contain;
  607. }
  608. }
  609. }
  610. .check--box--group{
  611. display: flex;
  612. }
  613. .form--group--inner{
  614. display: flex;
  615. align-items: center;
  616. gap:10px;
  617. .visible{
  618. display: none;
  619. }
  620. }
  621. .status--box{
  622. display: flex;
  623. align-items: center;
  624. justify-content: center;
  625. padding:5px 25px;
  626. border-radius: 35px;
  627. background: #e4e4e4;
  628. &.actv{
  629. background: #33559B;
  630. color:#fff;
  631. }
  632. }
  633. .img--content{
  634. display: flex;
  635. align-items: center;
  636. }
  637. .equip--image--wrap{
  638. display: flex;
  639. align-items: center;
  640. .equip--image{
  641. width:90px;
  642. height: 90px;
  643. margin-right: 25px;
  644. #preview_image{
  645. width: 90px;
  646. height: 90px;
  647. position: relative;
  648. border: 1px solid rgba(0, 0, 0, 0.2);
  649. overflow: hidden;
  650. img{
  651. width: 100%;
  652. position: absolute;
  653. top: 50%;
  654. object-fit: contain;
  655. left: 50%;
  656. transform: translate(-50%, -50%);
  657. }
  658. }
  659. .images-wrapper{
  660. width: 100%;
  661. height: 90px;
  662. .image{
  663. background-size: cover;
  664. width: 100%;
  665. height: 90px;
  666. background-repeat: none;
  667. cursor: pointer;
  668. }
  669. }
  670. .cool-lightbox {
  671. .cool-lightbox-toolbar{
  672. top: 30px;
  673. right: 30px;
  674. .cool-lightbox-toolbar__btn{
  675. border-radius: 50%;
  676. width: 56px;
  677. height: 56px;
  678. display: inline-block;
  679. background-image: url(../img/ic_close.svg);
  680. background-position: center;
  681. background-repeat: no-repeat;
  682. svg{
  683. display: none;
  684. }
  685. }
  686. }
  687. }
  688. }
  689. .equip--image--select{
  690. display:flex;
  691. flex-direction: column;
  692. .form--group{
  693. margin-bottom: 25px;
  694. margin-top: 10px;
  695. display: flex;
  696. .file--btn{
  697. width: 75px;
  698. height:33px;
  699. display: inline-flex;
  700. align-items: center;
  701. justify-content: center;
  702. border-radius: 0px!important;
  703. background: #6C7281!important;
  704. cursor: pointer;
  705. }
  706. }
  707. .equip--image--desc{
  708. color: #0131AD;
  709. font-size: 12px;
  710. font-style: normal;
  711. font-weight: 500;
  712. letter-spacing: -0.36px;
  713. }
  714. }
  715. }
  716. .form--group--inner{
  717. display: flex;
  718. align-items: center;
  719. justify-content: flex-start;
  720. gap:10px;
  721. margin-bottom:10px;
  722. .text--box{
  723. height:36px;
  724. border-radius: 0px;
  725. border:1px solid #b5b5b5;
  726. white-space: nowrap;
  727. display: flex;
  728. align-items: center;
  729. width:324px;
  730. justify-content: flex-start;
  731. padding:0 20px;
  732. text-overflow: ellipsis;
  733. }
  734. }
  735. .v-file-input{
  736. &.custom-input {
  737. .v-input__control {
  738. .v-field{
  739. border-radius: 0px;
  740. }
  741. .v-field__field {
  742. input{
  743. &:placeholder {
  744. font-size: 0.75rem!important;
  745. font-weight: 400;
  746. color: #8e8e8e!important;
  747. }
  748. }
  749. .v-field__input {
  750. padding:0px;
  751. min-height:36px;
  752. padding-left: 0.75rem;
  753. font-size: 0.75rem !important;
  754. font-weight: 400 !important;
  755. &::placeholder {
  756. font-size: 0.75rem!important;
  757. font-weight: 400;
  758. color: #8e8e8e!important;
  759. }
  760. }
  761. }
  762. }
  763. }
  764. margin-top: 0px;
  765. padding-top: 0px;
  766. .v-input__control{
  767. .v-input__slot{
  768. padding: 0 15px;
  769. &::before{
  770. display: none;
  771. }
  772. &::after{
  773. display: none;
  774. }
  775. .v-file-input__text,
  776. .v-file-input__text--placeholder,
  777. input::placeholder{
  778. color: #444!important;
  779. font-size: 12px!important;
  780. font-style: normal!important;
  781. font-weight: 300!important;
  782. letter-spacing: -0.36px!important;
  783. }
  784. .v-input__append-inner{
  785. .v-input__icon--clear{
  786. opacity: 1;
  787. .mdi-close::before{
  788. content: '';
  789. background-image: url(../static/ic_clear.svg);
  790. display: inline-block;
  791. width: 16px;
  792. height: 16px;
  793. background-position: center;
  794. }
  795. }
  796. }
  797. }
  798. }
  799. }
  800. .flex--type{
  801. display: flex;
  802. align-items: center;
  803. gap:12px;
  804. }
  805. .file--btn{
  806. border-radius: 0px!important;
  807. background: #4B5161!important;
  808. color: #FFF!important;
  809. font-size: 12px!important;
  810. font-weight: 500!important;
  811. }
  812. .radio--group{
  813. .v-selection-control-group{
  814. gap:10px;
  815. }
  816. }
  817. .mdi-radiobox-marked::before{
  818. content:''!important;
  819. width:15px;
  820. height:15px;
  821. display: inline-flex;
  822. background: url(../img/ic_radio_on.svg) no-repeat center;
  823. }
  824. .mdi-radiobox-blank::before{
  825. content:''!important;
  826. width:15px;
  827. height:15px;
  828. display: inline-flex;
  829. background: url(../img/ic_radio_off.svg) no-repeat center;
  830. }
  831. /**********************************************
  832. | 문의 등록 팝업 모달
  833. **********************************************/
  834. .inquiry-modal {
  835. border-radius: 20px !important;
  836. overflow: hidden;
  837. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
  838. .modal-header {
  839. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  840. color: white;
  841. padding: 1rem 25px;
  842. display: flex;
  843. align-items: center;
  844. justify-content: space-between;
  845. h3 {
  846. font-size: 1rem;
  847. font-weight: 600;
  848. margin: 0;
  849. }
  850. .close-btn {
  851. background: rgba(255, 255, 255, 0.2) !important;
  852. color: white !important;
  853. border-radius: 50%;
  854. width: 40px;
  855. height: 40px;
  856. &:hover {
  857. background: rgba(255, 255, 255, 0.3) !important;
  858. }
  859. .v-icon {
  860. font-size: 20px;
  861. }
  862. }
  863. }
  864. .modal-body {
  865. padding: 30px;
  866. background: #fafafa;
  867. .form-group {
  868. &:last-child{
  869. margin-bottom: 0;
  870. }
  871. margin-bottom: 20px;
  872. label {
  873. display: block;
  874. font-size: 0.95rem;
  875. font-weight: 600;
  876. color: #333;
  877. margin-bottom: 8px;
  878. .required {
  879. color: #ff6b6b;
  880. margin-left: 3px;
  881. }
  882. }
  883. .custom-select,
  884. .custom-file-input {
  885. border-radius: 8px !important;
  886. .v-field {
  887. border-radius: 8px !important;
  888. background: white;
  889. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  890. border: 1px solid #e1e5e9 !important;
  891. min-height: 3.63rem !important;
  892. &.v-field--focused {
  893. border-color: #667eea !important;
  894. box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
  895. }
  896. .v-field__outline {
  897. border-radius: 8px !important;
  898. &__start {
  899. border-radius: 8px 0 0 8px !important;
  900. }
  901. &__end {
  902. border-radius: 0 8px 8px 0 !important;
  903. }
  904. }
  905. &__field {
  906. border-radius: 8px !important;
  907. }
  908. &__overlay {
  909. border-radius: 8px !important;
  910. }
  911. }
  912. .v-field__input {
  913. padding: 12px 16px;
  914. font-size: 0.9rem;
  915. min-height: 3.63rem !important;
  916. &::placeholder {
  917. color: #9ca3af;
  918. }
  919. }
  920. .v-field__field {
  921. border-radius: 8px !important;
  922. min-height: 3.63rem !important;
  923. .v-field__input {
  924. min-height: 3.63rem !important;
  925. align-items: center;
  926. display: flex;
  927. }
  928. }
  929. .v-input__control {
  930. min-height: 3.63rem !important;
  931. }
  932. // Select dropdown
  933. .v-select__selection {
  934. border-radius: 8px !important;
  935. }
  936. // Input 요소들
  937. input, textarea {
  938. border-radius: 8px !important;
  939. }
  940. }
  941. .custom-title-input {
  942. border-radius: 8px !important;
  943. .v-field {
  944. border-radius: 8px !important;
  945. background: white;
  946. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  947. border: 1px solid #e1e5e9 !important;
  948. min-height: 2.25rem !important;
  949. &.v-field--focused {
  950. border-color: #667eea !important;
  951. box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
  952. }
  953. .v-field__outline {
  954. border-radius: 8px !important;
  955. &__start {
  956. border-radius: 8px 0 0 8px !important;
  957. }
  958. &__end {
  959. border-radius: 0 8px 8px 0 !important;
  960. }
  961. }
  962. &__field {
  963. border-radius: 8px !important;
  964. }
  965. &__overlay {
  966. border-radius: 8px !important;
  967. }
  968. }
  969. .v-field__input {
  970. padding: 12px 16px;
  971. font-size: 0.9rem;
  972. min-height: 3.63rem !important;
  973. &::placeholder {
  974. color: #9ca3af;
  975. }
  976. }
  977. .v-field__field {
  978. border-radius: 8px !important;
  979. min-height: 3.63rem !important;
  980. .v-field__input {
  981. min-height: 3.63rem !important;
  982. align-items: center;
  983. display: flex;
  984. }
  985. }
  986. .v-input__control {
  987. min-height: 3.63rem !important;
  988. }
  989. input {
  990. border-radius: 8px !important;
  991. }
  992. }
  993. .custom-textarea {
  994. border-radius: 8px !important;
  995. .v-field {
  996. border-radius: 8px !important;
  997. background: white;
  998. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  999. border: 1px solid #e1e5e9 !important;
  1000. &.v-field--focused {
  1001. border-color: #667eea !important;
  1002. box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
  1003. }
  1004. .v-field__outline {
  1005. border-radius: 8px !important;
  1006. &__start {
  1007. border-radius: 8px 0 0 8px !important;
  1008. }
  1009. &__end {
  1010. border-radius: 0 8px 8px 0 !important;
  1011. }
  1012. }
  1013. &__field {
  1014. border-radius: 8px !important;
  1015. }
  1016. &__overlay {
  1017. border-radius: 8px !important;
  1018. }
  1019. }
  1020. .v-field__input {
  1021. padding: 16px;
  1022. font-size: 0.9rem;
  1023. &::placeholder {
  1024. color: #9ca3af;
  1025. }
  1026. }
  1027. .v-field__field {
  1028. border-radius: 8px !important;
  1029. }
  1030. input, textarea {
  1031. border-radius: 8px !important;
  1032. }
  1033. }
  1034. .custom-textarea {
  1035. .v-field__field {
  1036. .v-field__input {
  1037. padding: 16px;
  1038. line-height: 1.5;
  1039. resize: none !important;
  1040. }
  1041. }
  1042. textarea {
  1043. resize: none !important;
  1044. }
  1045. }
  1046. .custom-file-input {
  1047. .v-file-input__text {
  1048. display: flex;
  1049. align-items: center;
  1050. min-height: 2.25rem;
  1051. }
  1052. }
  1053. .file-info {
  1054. font-size: 0.8rem;
  1055. color: #6b7280;
  1056. margin-top: 8px;
  1057. margin-bottom: 0;
  1058. }
  1059. }
  1060. }
  1061. .modal-footer {
  1062. padding: 20px 30px;
  1063. background: white;
  1064. border-top: 1px solid #e5e7eb;
  1065. display: flex;
  1066. justify-content: flex-end;
  1067. gap: 12px;
  1068. .cancel-btn {
  1069. background: #f3f4f6 !important;
  1070. color: #6b7280 !important;
  1071. border: 1px solid #d1d5db;
  1072. border-radius: 10px;
  1073. padding: 0 24px;
  1074. height: 42px;
  1075. font-weight: 500;
  1076. &:hover {
  1077. background: #e5e7eb !important;
  1078. }
  1079. }
  1080. .submit-btn {
  1081. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  1082. color: white !important;
  1083. border-radius: 10px;
  1084. padding: 0 24px;
  1085. height: 42px;
  1086. font-weight: 600;
  1087. box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
  1088. &:hover {
  1089. transform: translateY(-1px);
  1090. box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
  1091. }
  1092. &:disabled {
  1093. opacity: 0.7;
  1094. transform: none !important;
  1095. box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2) !important;
  1096. }
  1097. }
  1098. }
  1099. }
  1100. // 모달 배경 오버레이 스타일
  1101. .v-overlay__content {
  1102. .inquiry-modal {
  1103. max-height: 90vh;
  1104. overflow-y: auto;
  1105. }
  1106. }
  1107. /**********************************************
  1108. | CS 디테일 페이지
  1109. **********************************************/
  1110. .cs--detail--wrap {
  1111. border: 1px solid #eee;
  1112. border-radius: 15px;
  1113. overflow: hidden;
  1114. box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  1115. background: white;
  1116. .cs--detail--header {
  1117. background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
  1118. padding: 25px 30px;
  1119. border-bottom: 1px solid #eee;
  1120. display: flex;
  1121. align-items: center;
  1122. justify-content: space-between;
  1123. .status-badge {
  1124. padding: 8px 16px;
  1125. border-radius: 20px;
  1126. font-size: 0.85rem;
  1127. font-weight: 600;
  1128. &.status-waiting {
  1129. background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
  1130. color: #ffffff;
  1131. border: 1px solid #ff6b6b;
  1132. box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
  1133. font-weight: 600;
  1134. }
  1135. &.status-completed {
  1136. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  1137. color: #ffffff;
  1138. border: 1px solid #667eea;
  1139. box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
  1140. font-weight: 600;
  1141. }
  1142. }
  1143. .inquiry-meta {
  1144. display: flex;
  1145. align-items: center;
  1146. gap: 15px;
  1147. .category-badge {
  1148. background: linear-gradient(135deg, #667eea, #764ba2);
  1149. color: white;
  1150. padding: 6px 12px;
  1151. border-radius: 15px;
  1152. font-size: 0.8rem;
  1153. font-weight: 500;
  1154. }
  1155. .date {
  1156. color: #666;
  1157. font-size: 0.9rem;
  1158. }
  1159. }
  1160. }
  1161. .cs--detail--content {
  1162. padding: 30px;
  1163. .inquiry-title {
  1164. font-size: 1.5rem;
  1165. font-weight: 700;
  1166. color: #333;
  1167. margin-bottom: 25px;
  1168. line-height: 1.4;
  1169. border-bottom: 2px solid #f0f4ff;
  1170. padding-bottom: 15px;
  1171. }
  1172. .inquiry-info {
  1173. display: flex;
  1174. gap: 30px;
  1175. margin-bottom: 30px;
  1176. padding: 20px;
  1177. background: #fafbfc;
  1178. border-radius: 12px;
  1179. border-left: 4px solid #667eea;
  1180. .info-item {
  1181. display: flex;
  1182. flex-direction: column;
  1183. gap: 5px;
  1184. .label {
  1185. font-size: 0.85rem;
  1186. color: #666;
  1187. font-weight: 500;
  1188. }
  1189. .value {
  1190. font-size: 1rem;
  1191. color: #333;
  1192. font-weight: 600;
  1193. }
  1194. }
  1195. }
  1196. .inquiry-content {
  1197. margin-bottom: 30px;
  1198. h4 {
  1199. font-size: 1.1rem;
  1200. font-weight: 600;
  1201. color: #333;
  1202. margin-bottom: 15px;
  1203. display: flex;
  1204. align-items: center;
  1205. gap: 8px;
  1206. &:before {
  1207. content: "📝";
  1208. font-size: 1.2rem;
  1209. }
  1210. }
  1211. .content-text {
  1212. background: white;
  1213. border: 1px solid #e1e5e9;
  1214. border-radius: 12px;
  1215. padding: 25px;
  1216. line-height: 1.6;
  1217. color: #333;
  1218. font-size: 1rem;
  1219. min-height: 120px;
  1220. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  1221. }
  1222. }
  1223. .attachment-section {
  1224. margin-bottom: 30px;
  1225. h4 {
  1226. font-size: 1.1rem;
  1227. font-weight: 600;
  1228. color: #333;
  1229. margin-bottom: 15px;
  1230. display: flex;
  1231. align-items: center;
  1232. gap: 8px;
  1233. &:before {
  1234. content: "📎";
  1235. font-size: 1.2rem;
  1236. }
  1237. }
  1238. .attachment-item {
  1239. background: white;
  1240. border: 1px solid #e1e5e9;
  1241. border-radius: 12px;
  1242. padding: 20px;
  1243. display: flex;
  1244. align-items: center;
  1245. gap: 15px;
  1246. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  1247. .mdi-paperclip {
  1248. font-size: 1.5rem;
  1249. color: #667eea;
  1250. }
  1251. .file-name {
  1252. flex: 1;
  1253. font-size: 1rem;
  1254. color: #333;
  1255. font-weight: 500;
  1256. }
  1257. .download-btn {
  1258. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  1259. color: white !important;
  1260. border-radius: 8px;
  1261. box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
  1262. &:hover {
  1263. transform: translateY(-1px);
  1264. box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  1265. }
  1266. .mdi-download {
  1267. margin-right: 5px;
  1268. }
  1269. }
  1270. }
  1271. }
  1272. .answer-section {
  1273. border-top: 2px solid #f0f4ff;
  1274. padding-top: 30px;
  1275. h4 {
  1276. font-size: 1.1rem;
  1277. font-weight: 600;
  1278. color: #333;
  1279. margin-bottom: 15px;
  1280. display: flex;
  1281. align-items: center;
  1282. gap: 8px;
  1283. &:before {
  1284. content: "💬";
  1285. font-size: 1.2rem;
  1286. }
  1287. }
  1288. .answer-content {
  1289. background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
  1290. border: 1px solid #e1e5e9;
  1291. border-radius: 12px;
  1292. padding: 25px;
  1293. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  1294. .answer-meta {
  1295. display: flex;
  1296. align-items: center;
  1297. gap: 15px;
  1298. margin-bottom: 15px;
  1299. padding-bottom: 15px;
  1300. border-bottom: 1px solid rgba(102, 126, 234, 0.1);
  1301. .admin-badge {
  1302. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  1303. color: white;
  1304. padding: 4px 12px;
  1305. border-radius: 12px;
  1306. font-size: 0.8rem;
  1307. font-weight: 600;
  1308. }
  1309. .answer-date {
  1310. color: #666;
  1311. font-size: 0.9rem;
  1312. }
  1313. }
  1314. .answer-text {
  1315. line-height: 1.6;
  1316. color: #333;
  1317. font-size: 1rem;
  1318. }
  1319. }
  1320. }
  1321. }
  1322. }
  1323. // 하단 버튼 스타일 개선
  1324. .view-btm-btn {
  1325. margin-top: 40px;
  1326. padding: 25px 0;
  1327. border-top: 1px solid #eee;
  1328. display: flex;
  1329. justify-content: space-between;
  1330. align-items: center;
  1331. .btn-l, .btn-r {
  1332. display: flex;
  1333. gap: 12px;
  1334. }
  1335. .custom-btn {
  1336. &.btn-list {
  1337. background: #f3f4f6 !important;
  1338. color: #6b7280 !important;
  1339. border: 1px solid #d1d5db;
  1340. border-radius: 10px;
  1341. padding: 0 24px;
  1342. height: 42px;
  1343. font-weight: 500;
  1344. &:hover {
  1345. background: #e5e7eb !important;
  1346. }
  1347. .mdi-format-list-bulleted {
  1348. margin-right: 8px;
  1349. }
  1350. }
  1351. }
  1352. }
  1353. // 팝업 내 모든 Vuetify 필드 요소들의 border-radius 강제 적용
  1354. .inquiry-modal {
  1355. .v-field,
  1356. .v-field__field,
  1357. .v-field__overlay,
  1358. .v-field__outline,
  1359. .v-field__outline__start,
  1360. .v-field__outline__end,
  1361. .v-input__control,
  1362. .v-input__slot,
  1363. input,
  1364. textarea,
  1365. .v-select__slot {
  1366. border-radius: 8px !important;
  1367. }
  1368. .v-field__outline__start {
  1369. border-radius: 8px 0 0 8px !important;
  1370. }
  1371. .v-field__outline__end {
  1372. border-radius: 0 8px 8px 0 !important;
  1373. }
  1374. // 포커스 상태에서도 border-radius 유지
  1375. .v-field--focused {
  1376. .v-field__outline,
  1377. .v-field__outline__start,
  1378. .v-field__outline__end {
  1379. border-radius: 8px !important;
  1380. }
  1381. .v-field__outline__start {
  1382. border-radius: 8px 0 0 8px !important;
  1383. }
  1384. .v-field__outline__end {
  1385. border-radius: 0 8px 8px 0 !important;
  1386. }
  1387. }
  1388. }
  1389. // ========== 모달 공통 스타일 ==========
  1390. .v-common-dialog-wrapper {
  1391. &.custom-dialog {
  1392. background: #fafafa;
  1393. overflow: hidden;
  1394. .modal-tit {
  1395. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  1396. color: white;
  1397. font-size: 20px;
  1398. font-weight: 600;
  1399. position: relative;
  1400. padding: 2.5rem 1.56rem 2.19rem 1.56rem;
  1401. &::before {
  1402. content: '';
  1403. position: absolute;
  1404. top: 0;
  1405. left: 0;
  1406. right: 0;
  1407. bottom: 0;
  1408. background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.1) 0%, transparent 70%);
  1409. pointer-events: none;
  1410. }
  1411. h3 {
  1412. margin: 0;
  1413. position: relative;
  1414. z-index: 2;
  1415. }
  1416. .close-btn {
  1417. display: inline-block;
  1418. position: absolute;
  1419. right: 16px;
  1420. top: 50%;
  1421. transform: translateY(-50%);
  1422. background: rgba(255, 255, 255, 0.2) !important;
  1423. color: white !important;
  1424. z-index: 3;
  1425. border: none;
  1426. border-radius: 50%;
  1427. width: 40px;
  1428. height: 40px;
  1429. cursor: pointer;
  1430. transition: all 0.2s ease;
  1431. &:hover {
  1432. background: rgba(255, 255, 255, 0.3) !important;
  1433. }
  1434. &::before {
  1435. content: '×';
  1436. font-size: 24px;
  1437. font-weight: bold;
  1438. line-height: 1;
  1439. position: absolute;
  1440. top: 50%;
  1441. left: 50%;
  1442. transform: translate(-50%, -50%);
  1443. }
  1444. .v-icon {
  1445. font-size: 20px;
  1446. }
  1447. }
  1448. }
  1449. .v-common-dialog-content {
  1450. border-top: 1px solid #f3f4f6;
  1451. justify-content: flex-end;
  1452. gap: 12px;
  1453. }
  1454. .v-btn {
  1455. border-radius: 10px;
  1456. font-weight: 500;
  1457. text-transform: none;
  1458. padding: 0 24px;
  1459. height: 44px;
  1460. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  1461. transition: all 0.2s ease;
  1462. &:hover {
  1463. transform: translateY(-1px);
  1464. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  1465. }
  1466. &.cancel-btn {
  1467. background: #f3f4f6 !important;
  1468. color: #6b7280 !important;
  1469. &:hover {
  1470. background: #e5e7eb !important;
  1471. }
  1472. }
  1473. &.submit-btn {
  1474. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  1475. color: white !important;
  1476. &:hover {
  1477. background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%) !important;
  1478. }
  1479. &.v-btn--loading {
  1480. .v-btn__loader {
  1481. color: white;
  1482. }
  1483. }
  1484. }
  1485. }
  1486. }
  1487. }