/* 
    GLOBAL STYLES
*/
* {
   margin: 0;
   box-sizing: border-box;
}

body {
   font-family: monospace;
   background-color: #f7f7f7;
   color: #333333;
}

form {
   padding: 40px 20px;
   max-width: 400px;
   width: 100%;
   margin: auto;
   background-color: rgba(0, 0, 0, 0.03);
}

fieldset {
   display: flex;
   gap: 20px;
   padding: 15px;
   padding-top: 10px;
   border-radius: 5px;
   border: 1px solid black;
}

fieldset.transCat > div {
   display: flex;
   align-items: center;
   gap: 5px;
}

fieldset.transCat > div > * {
   cursor: pointer;
}

.formGroup {
   width: 100%;
   margin-top: 5px;
   margin-bottom: 20px;
}

.formGroup > input,
.formGroup > select {
   width: 100%;
   padding: 16px 20px;
   font-size: 1em;
   width: 100%;
   outline: none;
   border: 1px solid #ccc;
   border-radius: 5px;
   background: #f7f7f7;
}

.formGroup > select:required:invalid {
   color: #828282 !important;
}

.btn {
   display: inline-block;
   padding: 10px 20px;
   cursor: pointer;
   margin: 10px 10px 10px 0px;
   outline: none;
   border: 1px solid #333333;
   font-weight: 500;
   font-size: 16px;
   background: #f7f7f7;
   border-radius: 5px;
   transition: transform 0.1s ease-in-out;
}

.btn:hover {
   transform: scale(1.03);
}

.btn:active {
   transform: scale(0.95);
}

#error {
   color: red;
}

#success {
   color: rgb(60, 192, 60);
}

.add-button {
   position: absolute;
   top: 1px;
   left: 1px;
   z-index: 100;
}

.app {
   display: flex;
   flex-direction: column;
   min-height: 100vh;
}

/* 
    HEADER STYLES
*/

.app__header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   min-height: 56px;
   padding: 10px 20px;
   background-color: #f7f7f7;
   position: sticky;
   top: 0;
   box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.03);
}

.app__header h2 {
   font-size: 16px;
}

.app__headerBtns {
   display: none;
}

.app__headerBtns .btn {
   margin: initial;
   padding: 10px;
   font-size: 12px;
}


/* 
    BODY STYLES
*/
.app__body {
   padding: 20px 30px;
   flex: 1;
   display: flex;
   justify-content: center;
   align-items: center;
}

.app__transForm,
.app__signupForm,
.app__loginForm,
.app__settingsForm {
   display: none;
}

.app__signupForm fieldset,
.app__loginForm fieldset,
.app__settingsForm fieldset {
   flex-direction: column;
   gap: 0px;
}

.app__signupForm legend,
.app__loginForm legend,
.app__settingsForm legend {
   font-size: 16px;
   font-weight: 600;
   text-align: center;
   margin-bottom: 15px;
}

.paymentForContainer {
   /* flex-wrap: wrap; */
   width: 100%;
   display: grid;
   grid-template-columns: 1fr 1fr;
   row-gap: 15px;
}

.paymentForContainer > div {
   display: flex;
   gap: 5px;
   align-items: center;
}

.paymentForContainer > div > * {
   cursor: pointer;
}

/* 
    R E C E I P T   S T Y L E S
*/
.app__receipt {
   
   color: black !important;
   font-weight: 900 !important;
}

.app__receipt--header {
   text-align: center;
}

.app__receipt--addr {
   font-size: 10px;
}

.app__receipt--title {
   margin-top: 10px;
   margin-bottom: 10px;
   border: 1px dotted black;
}

.app__receipt--body {
   border-bottom: 1px dotted black;
   padding-top: 5px;
   padding-bottom: 5px;
   display: flex;
   flex-direction: column;
   word-wrap:break-word;
   gap: 1px;
}

.app__receipt--footer {
   padding-top: 5px;
   display: flex;
   gap: 5px;
}

.app__receipt--footer > div {
   flex: 1;
   text-align: center;
}

.app__receipt--footer > div > h6:first-child {
   padding-bottom: 20px;
   margin-bottom: 2px;
   border-bottom: 1px solid black;
}

.app__receipt--actionBtns {
   margin-top: 20px;
}

/* 
    PRINT STYLES
*/
@media only print {
   body {
      visibility: hidden;
   }

   .app__receipt {
      visibility: visible;
   }

   .app__receipt--actionBtns {
      visibility: hidden;
   }
}
