default.scss 36 KB

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