
@font-face {
	font-family: "Trebuchet MS";
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: -0.45px;
	word-spacing: 0.4px;
}
@font-face {
	font-family: "Lato-fallback";
	size-adjust: 97.38%;
	ascent-override: 99%;
	src: local("Arial");
}
:root{
   --header-height: 80px;
   --grid-gap:16px;
	--header-background:#fff;
	--a-color: #1a5bc1;
	--a-color-hover: #000;
	--text-color: #333;
	--button-color: #1a5bc1;
	--button-hover-color: #2577dd;
	--bgimage: #fff url();
	--logo-color: #fff;
	--navigation-color-a: #fff;
	--navigation-color-menu: #fff;
	--navigation-color-dropmenu-a: #333;
	--aside-color-a: #fff;
	--aside-color-a-hover: #2577dd;
	--aside-color-li-hover:#f5f6f8;
	--aside-width: 240px;
}
@media only screen and (max-width: 768px) {
	:root{
		--navigation-color-a: #333;
		--aside-color-li-hover:none
	}
	body{
      -webkit-tap-highlight-color: transparent;
      -webkit-touch-callout: none; 
      -webkit-user-select: none;   
      user-select: none;   
   }
}
@media all and (display-mode: standalone) {
   body{
      -webkit-tap-highlight-color: transparent;
      -webkit-touch-callout: none; 
      -webkit-user-select: none;   
      user-select: none;   
		margin: 0;
		overflow: hidden;                        
		overscroll-behavior-y: none;
		-webkit-overflow-scrolling: touch;
   }
	input, textarea {
		-webkit-user-select: text;
		user-select: text;
		-webkit-touch-callout: default;
	}
}body, html{
   background: var(--bgimage);
   background-size: cover;
   background-attachment: fixed;
   background-position: center center;
   margin:0;
   padding:0;
   font-family:"Lato", Tahoma;
   font-display:swap;
   font-size:20px;
   margin:0 auto;
   height:calc(100dvh - var(--header-height));
}
body:has(.main-min){
   background: #f7f7f8
}
:root {
   --visual-vh: 100vh;
   --keyboard-offset: 0px;
 }
header{
   background:var(--header-background);
   color:#000;
   position:fixed;
   left:0;
   top:0;
   right:0;
   height:var(--header-height);
   padding:0 20px;
   z-index:100000000;
   border-bottom: 1px #f0f0f0 solid;
   display:flex; align-items:stretch; align-content:center; gap:40px;
}
.user header{
   border:none;
}
.user header li a{
   color: #fff;
   background:#4A4A4A;
   border-radius:100px;
   display:flex;
   align-items:center;
   justify-content: center;
   width:32px;
   height:32px;
}
.user .navigation-inline{
   gap:8px;
}
@media only screen and (min-width: 768px) {
   .user header{
      left:var(--aside-width)
   }
}
main{
   min-height:400px
}
main:not(.main-min){
   top:var(--header-height);
}
main.main-min .main-head{
   position:sticky;
   background:#fff;
   z-index: 10000000;
   top:0;
   padding:0 12px;
   border-bottom:1px #eee solid;
   height:var(--header-height);
}
main.main-min .inner{
   max-width:600px;
   padding:12px;
}
main.main-min .detail-tabs{
   background:#f7f7f8
}
main.main-min .exit{
   margin-right:24px;
}
main.main-min{
}
.inner{
   width: calc(100vw - 40px);
   margin-left:auto;
   margin-right:auto;
   padding-top:30px;
   max-width:900px
}
ul, li{
   margin:0;
 }
a{
	color: var(--a-color);
	text-decoration:underline;
   -webkit-user-drag: none;
}
a:hover{
	color: var(--a-color-hover);
}
hr{
   border: none;
   border-bottom: 5px solid #f0f1f4 !important;
   margin-top: 20px;
   margin-bottom: 20px;
   width:100%;
   position: relative;
}
h1,h2,h3,h4,h5,h6{
   margin:0 0 .75em;
   padding:0;
   line-height:1.5em;
   color:var(--text-color);
}
p{
   margin:0;
   padding:0;
   font-size:inherit;
   color:var(--text-color);
   line-height:1.5em;
   font-weight:200;
}
li{
   font-size:inherit;
   color:var(--text-color);
   font-weight:200;
}
article p:not(:empty){
   margin-bottom:20px;
}
.material-symbols-outlined{
   vertical-align: bottom;
   font-size: 1.2em !important;
   top: 0px;
   position: relative;
}
@media print {
	@page {size: landscape}
	header{
		display: none;
	}
}
.inner{
   max-width:1200px;
   margin:0 auto;
   box-sizing: border-box;
   width:100%
}
.hidden{
   display:none !important
}
.main-head{
   display:flex; 
   gap:20px; 
   align-items: center; 
   padding-bottom:16px;
   justify-content: space-between;
}
.main-head h1{
   margin:0;
   padding:0
}
.main-head > *{
   width:auto !important
}
.main-head .create{
   height:36px;
}
.main-head .create:before{
   content: "add";
   font-family: "Material Symbols Outlined";
   top: 1px !important;
   position: relative;
}
aside + main{
   max-width:calc(100vw - var(--aside-width)); 
   margin-left: var(--aside-width);
   margin-top: var(--header-height);
   min-height:100%;
}
aside{
   display: block;
   align-items: flex-start;
   position: fixed; 
   left: 0; 
   top: 0; 
   width: var(--aside-width); 
   height:100%; 
   padding:16px; 
   box-sizing: border-box; 
   z-index:100;
   z-index:1000000000;
   overflow-y: auto;
   overflow-x: hidden;
   background:linear-gradient(90deg, #ffffff, #fafafa);
   border-right:1px #eee solid;
   padding-top:40px;
}
@media only screen and (max-width: 768px) {
   .desktop-only{
      display:none !important
   }
   header{
      justify-content: space-between;
   }
   .mobile-browser-only{
      display:block !important
   }
   main{
      max-width:none !important;
      margin-left:auto !important;
   }
   aside{
      display:none !important;
      width: 100% !important;
      position:fixed;
      left:0;
      right:0;
   }
   .aside-open aside{
      display:grid !important;
      padding-top:60px !important
   }
}
@media only screen and (min-width: 769px) and (max-width: 1024px){
   .ios-wrapper main {
      max-width:none !important;
      margin-left:auto !important;
   }
}
@media all and (display-mode: standalone) {
   main{
      overflow:auto;
   }
   aside{
      display: block !important;
      position: fixed !important;
      bottom: env(safe-area-inset-bottom, 0);
      height: auto !important;
      top: auto !important;
      padding:0 !important;
      background:linear-gradient(0deg, #000000, #4a4a4a);
      left:0;
      right:0;
      border:none;
      position: sticky;
      inset-block-end: 0;                     
      block-size: var(--nav-h, 56px);
      display: grid; place-items: center;
      padding-block-end: env(safe-area-inset-bottom);
      border-block-start: 1px solid rgba(255,255,255,.12);
   }
}
.ios-wrapper aside{
   display: block !important;
   position: fixed !important;
   height: auto !important;
   top: auto !important;
   padding:0 !important;
   background:#000;
   left:0;
   right:0;
   border:none;
   position: fixed;
   display: grid; place-items: center;
   bottom: calc(env(safe-area-inset-bottom) - 38px);
   width:100vw;
}
.ios-wrapper  .mobile-browser-only{
   display:none !important
}
.ios-wrapper:has(input:focus) footer{
   display:none !important
}
.ios-wrapper:has(input:focus) aside{
   display:none !important
}  
button,
input[type='submit'],
input[type='button'],
.button{
   background:var(--button-color);
   border:none;
   color:#fff;
   padding:10px 15px;
   border-radius:6px;
   cursor:pointer;
   font-size:16px;
   line-height:16px;
   font-family:inherit;
   height:40px;
   align-items:center;
   text-decoration:none;
   box-sizing:border-box;
   text-align:center;
   white-space:nowrap;
   width:100%;
   display:inline-grid;
   justify-content: center;
   grid-auto-flow: column;
   gap:5px;
   position:relative
}
button:hover, 
input[type='submit']:hover, 
.button:hover
{
   background:var(--button-hover-color);
   color:#fff;
}
input[type=submit][disabled=disabled] {
   opacity: .5
}
a.button{
   padding:0 12px
}
form{
   padding:0;
   font-family:inherit;
   margin:0 auto;
   display:grid;
   gap:var(--grid-gap);
}
input[type=text],
input[type=email],
input[type=url],
input[type=date],
input[type=password],
input[type=number],
input[type=tel],
input[type=range],
input[type=datetime-local],
input[type=time],
input[type=search],
input:-webkit-autofill,
select,
textarea,
.textarea,
.input,
.fake-input{
   padding:0 12px;
   border-radius:3px;
   width:100%;
   height:40px;
   display:grid;
   font-family:inherit;
   font-size:16px;
   line-height:16px;
   resize:none;
   box-sizing: border-box;
   grid-auto-flow: column;
   justify-content: space-between;
   outline:none;
   background:#fff !important;
   border:1px #ccc solid;
   cursor:pointer;
}
form input[type=date]{
   appearance: none;
   background:#fff;
   color:inherit
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
}
input[readonly], input[readonly]:focus{
   cursor:default;
   background:#ebebeb;
   border:1px #e1e1e1 solid !important;
}
input[type=password] + div{
   display: none;
   position: absolute;
   right: 10px;
   top: -14px;
   height: 15px;
   padding: 5px 8px;
   font-size: 12px;
   background: #fcfcfc;
   border: 1px solid #333;
   border-radius: 12px;
}
label:has(input[type=password]):hover > div{
   display:block
}
input[type=password] + div:empty{
   display: none !important;
}
a[onclick] ~ input[type=text]{
   padding-right:75px
}
form input[type=text]:focus,
form input[type=number]:focus,
form input[type=password]:focus,
form input[type=date]:focus,
form select:focus, 
form textarea:focus{
   border:1px #5b5b5b solid
}
#mkninput{
   width:0;
   height:0;
   overflow:hidden;
}
form input[type=text]:disabled{
   background-color: #f6f6f6;
   cursor:not-allowed
}
select{
   background:#fff url(https://d1b21banxzhuc6.cloudfront.net/images/arrows.png) right 10px center no-repeat rgba(0,0,0,0) !important;
   -webkit-appearance: none;
   -moz-appearance: none;
   padding-right:30px;
   width:auto
}
form input[type='radio']{
   display: inline-block;
   width: 20px;
   height: 20px;
   vertical-align: middle;
}
select[multiple]{
   min-height:100px;
   background-image:none;
   padding:8px !important
}
@media only screen and (max-width: 768px) and (hover: none) {
   form select[multiple]{
      min-height: auto;
   }
}
@media only screen and (max-width: 400px){
   form select[multiple]{
      min-height: auto;
   }
}
textarea{
   min-height:88px;
   padding:12px;
   height:auto
}
form label{
   display:block;
   position:relative;
   font-size:16px;
}
form > label:last-child{
   padding-bottom:0
}
form label > span{
   display:block;
   font-size:16px;
   padding-bottom:8px;
}
form label span{}
form label span:empty{
   padding:0;
}
form label span:after{
   content: attr(data-name);
   font-size: 9px;
   position: absolute;
   color: rgba(0, 0, 0, .65);
   transition: all 0.1s ease;
   font-size: 16px;
   left: 13px;
   top: 10px;
   opacity:1;
   white-space:nowrap;
   cursor:pointer;
   max-width: calc(100% - 26px);
   overflow: hidden;
}
form label:has(span:empty) input::placeholder{
   opacity:0
}
form label span:empty:has(+ input:not(:placeholder-shown)):after,
form label span:empty:has(+ .fake-input > input:not(:placeholder-shown)):after,
form label span:empty:has(+ .fake-input > .clicktoremove):after
{
   font-size:9px;
   left: 10px;
   padding: 0 4px;
   background: none;
   top: -5px;
   display:block;
   opacity:1;
   position:absolute;
   background:#fff 
}
.error-message{
   color:red;
}
.error-message:empty{
   display:none
}
.button-floater {
   position: absolute;
   right: 0;
   border-radius: 0;
   top:28px;
}
.input-drop{
   position: absolute;
   left: 0;
   top: auto;
   background: #fff;
   z-index: 1000;
   width: 100%;
   box-shadow: 0 8px 24px rgba(0,0,0,0.1);
   max-height: 320px;
   overflow-y: auto;
   border: 1px solid #e0e0e0;
   border-radius:12px;
}
.input-drop:empty{
   display:none !important
}
.input-drop .dd-item {
   display: block;
   padding: 8px;
   font-weight: 400;
   border-bottom: 1px solid #eee;
   color: var(--a-color);
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   font-size: 16px;
   cursor: pointer;
   user-select: none
}
.disabled,.input-drop .dd-item.active,.selector .dropdown a:hover {
   background: #eee
}
.input-drop .dd-item:hover {
   background: #fafafa
}
div.input {
   height: auto;
   display: block
}
.popup-messages{
	display: block;
	position: fixed;
	bottom: 40px;
	left: 0;
	right:0;
	max-width:480px;
	margin:0 auto;
	z-index: 10000000;
	padding: 20px;
	background: #fff;
	box-shadow: 0 0 20px rgba(0,0,0,.4);
	border-radius: 10px;
	color: #fff;
	text-align: center
}
.popup-messages p{
	padding:10px;
	font-size:20px;
   margin:0
}
.collapsible{
   transition: all 100ms ease-in-out;
}
.collapsed .collapsible{
   height:0px;
   overflow: hidden;
}
.fake-input{
	display: flex;
	align-items: center;
	padding: 4px 12px !important;
	white-space: normal;
	height: auto;
	flex-flow: wrap;
	line-height: 1.4em;
	min-height: 40px;
	gap:4px;
   justify-content: flex-start;
}
.fake-input:has(input[data-multiple="false"]){
   white-space: nowrap;
   overflow: hidden;
   max-width:calc(100vw - 40px);
}
.fake-input > .clicktoremove ~ input[data-multiple="false"] {
   display:none
}
.fake-input input{
	margin:0;
	border: 0;
	background: none !important;
	padding:0 !important;
	margin:0 !important;
	height: 22px;
	overflow: visible;
	box-sizing:border-box;
	width: auto;
	min-width: 120px;
   border:none !important;
}
.fake-input input:first-child{
   text-indent:0
}
.fake-input > a,
.fake-input > span{
	text-decoration: none;
	display: inline-block;
	font-weight: 700;
	cursor:pointer;
   overflow:hidden;
	text-overflow:ellipsis
}
.fake-input .hover-placeholder{
	display: inline-block;
	font-weight: 700;
	background: #f2f2f2;
	padding: 3px 6px;
	border: 1px #dcdcdc solid;
	border-radius: 3px;
	opacity:.5
}
.fake-input .sort-target{
	text-decoration:none !important;
	box-shadow:0 0 0 3px rgba(0, 0, 0, 0.432);
	cursor:pointer !important
}
.fake-input > a:hover,
.fake-input > span:hover{
	text-decoration: line-through;
}
[data-get] > *,
[data-post] > * {
    pointer-events: none;
}
.navigation li{
   position:relative
}
.navigation a .material-symbols-outlined{
   font-size: 22px;
   vertical-align: top;
   padding-right:5px;
}
.navigation{
   display:none;
   position:absolute;
   right:0;
   top:var(--header-height);
   background:#fff;
   margin:0;
   padding:0;
   z-index:1000;
   max-height:calc(100vh - var(--header-height));
   overflow-y: auto;
   box-sizing: border-box;
}
.navigation::-webkit-scrollbar {
   display:none
}
.navopen .navigation{
   display:block;
   box-shadow:0 0 30px rgba(0,0,0,.1)
}
.navigation{
   left:0;
   padding:20px;
   border-bottom-left-radius:20px;
}
.navigation li{
   display:block;
}
.navigation li a{
   display:block;
   padding:6px;
   text-decoration:none;
   font-size:18px;
   padding-left:0
}
.navigation > li > ul{
   padding-left:0px;
   margin-bottom:20px;
}
.navigation > li > ul ul{
   padding-left:31px;
}
.navigation > li > ul ul a{
   padding:0px
}
.navigation li b{
   color:#4A4A4A;
   font-size:13px;
}
.navigation-inline{
   display: grid;
   grid-auto-flow: column;
   gap: 16px;
   align-items: center;
   margin:0;
   padding:0;
   height:100%
}
.navigation-inline > li{
   display:flex;
   height:100%;
   align-items:center;
}
.navigation-inline li a,
.navigation-inline li > span{
   display:block;
   text-decoration:none;
   font-size:16px;
   font-weight:bold;
   white-space: nowrap;
   color:var(--navigation-color-a);
}
.navigation-inline li ul a{
   color:var(--navigation-color-dropmenu-a)
}
.navigation-sub-inline-sticky{
   position:sticky;
   top:var(--header-height);
   background:#fff;
   z-index: 10000;
}
.navigation-sub-inline{
   gap:0px;
   justify-content:start;
   padding-bottom:0
}
.navigation-sub-inline li{
   text-align:center
}
.navigation-sub-inline li a{
   padding:6px 12px;
   border-radius:6px;
   display:grid;
   gap:4px;
   justify-content: center;
   align-items:center
}
.navigation-inline li a.active{
   background:var(--button-color);
   color:#fff
}
.navigation-inline li a.active small{
   color:#fff
}
.navigation-inline li > span{
   cursor:default
}
.navigation-inline ul{
   display:none;
   position:absolute;
   margin:0;
   padding:0;
   top:var(--header-height);
   background:#fff;
   padding:30px;
   border-radius:6px;
   box-shadow: 0 5px 30px #00000014;
   gap:16px;
   column-gap:40px;
   max-height: 380px; 
   overflow: hidden;
   column-count: auto;
   column-width: 200px; 
   column-gap: 40px;
   max-height: 30vh;
   overflow: hidden;
   flex-flow: column wrap;
   min-width:120px
}
.navigation-inline small{
   display:block;
   font-size:14px;
   color:#4A4A4A
}
.navigation-inline li{
   display:grid;
   grid-auto-flow: row;
}
.navigation-trigger{
   display:flex;
   align-items: center;
}
.navigation-floater{
   display:flex;
   justify-content:space-between;
   width:100%;
}
.navigation-aside{
   margin:0; padding:0;
   display:grid;
   gap:4px;
}
.navigation-aside li{
   display:block;
   margin:0;
   padding:0;
}
.navigation-aside ul{
   margin:0;
   padding:0;
   display:none
}
.navigation-aside li a,
.navigation-aside li > span{
   padding:6px;
   border-radius:6px;
   color:#555;
   font-weight:400;
   display:block;
   text-decoration: none;
   font-size:16px;
   display:flex;
   align-items:center;
   gap:10px;
}
.navigation-aside li a.active{
   color:var(--aside-color-a-hover);
}
.navigation-aside a:hover{
   background:var(--aside-color-li-hover);
}
.navigation-aside li.active ul{
   display:block;
}
.navigation-aside ul{
   padding-left:29px;
}
.navigation-aside li .material-symbols-outlined{
   font-size: 20px !important;
}
.grid-column{
   display:grid;
   gap:var(--grid-gap);
   grid-template-columns: 1fr 1fr;
}
.grid-row{
   display:grid;
   gap:var(--grid-gap);
   grid-auto-flow:row;
}
.grid-desktop{
   display:grid;
   gap:var(--grid-gap);
   grid-auto-flow:column;
}
@media only screen and (min-width: 768px) {
   .navigation{
      max-width:265px;
      margin-left:auto
   }
   .navigation-trigger{
      display:none
   }
   .navigation-inline li:hover ul{
      display:flex;
   }
   .mobile-browser-only{
      display:none !important
   }
}
@media only screen and (max-width: 768px) {
   body:not(.user) .navigation-floater{
      display:none
   }
   .navigation-open .navigation-floater{
      display: flex !important;
      position: fixed;
      left: 0;
      right: 0;
      top: var(--header-height);
      background: #fff;
      height: calc( 100vh - var(--header-height) );
      padding: 20px;
      overflow: auto;
      z-index: 100000000000000;
      box-sizing: border-box;
      flex-direction:column;
      justify-content: flex-start;
   }
   .navigation-aside-open aside{
      display: flex !important;
      position: fixed;
      left: 0;
      right: 0;
      top: var(--header-height);
      background: #fff;
      height: calc( 100vh - var(--header-height) );
      padding: 10px;
      overflow: auto;
      z-index: 100000000000000;
      box-sizing: border-box;
      flex-direction:column;
      justify-content: flex-start;
      --aside-color-a: #000 !important
   }
   body:not(.user) .navigation-inline{
      grid-auto-flow: row;
      height:auto
   }
   .navigation-sub-inline{
      grid-auto-flow: column;
   }
   .navigation-inline li{
      height:auto
   }
   .navigation-inline ul{
      display:grid;
      position:relative;
      padding:0;
      top:auto;
      background:none;
      box-shadow:none;
      grid-auto-flow: row !important;
   }
   .navigation-inline li > span{
      font-size:14px;
      margin-bottom:10px;
      color:#4A4A4A
   }
}
@media (display-mode: standalone) {
   .mobile-browser-only{
      display:none !important
   }
   .navigation-aside li a{
      display:flex;
      flex-flow:column;
      align-items: center;
      font-size:9px;
      text-align:center;
      padding:8px;
      color:#fff;
      gap:0;
   }
   .navigation-aside{
      grid-auto-flow: column;
      justify-content: space-around;
      gap: 6px;
   }
   .navigation-aside li .material-symbols-outlined{
      font-size:36px !important;
      display:block;
      margin:0 auto;
      padding:0;
      padding-bottom:5px;
   }
   .navigation-aside{
      padding-bottom:30px
   }
}
.ios-wrapper .mobile-browser-only{
   display:none !important
}
.ios-wrapper .navigation-aside li a{
   display:flex;
   flex-flow:column;
   align-items: center;
   font-size:9px;
   text-align:center;
   padding:8px;
   color:#fff;
   gap:0;
}
.ios-wrapper .navigation-aside{
   grid-auto-flow: column;
   justify-content: space-around;
   gap: 6px;
}
.ios-wrapper .navigation-aside li .material-symbols-outlined{
   font-size:36px !important;
   display:block;
   margin:0 auto;
   padding:0;
   padding-bottom:5px;
}
.ios-wrapper .navigation-aside{
   padding-bottom:20px
}
table{
   width: 100%;
   border-collapse: separate; 
   border: 0;
   border-spacing: 0;
   border-radius: 20px;
   background: #fff;
   text-align:left;
   font-size:16px;
}
table td,
table th{
   color: #3a3a3a;
   background-clip: padding-box;
   scroll-snap-align: start;
   padding:8px 10px;
   overflow: hidden;
   text-wrap:pretty
}
table thead th{
   font-weight:bold;
   white-space:nowrap;
   background:#fff;
}
table tbody td,
table thead th,
table tbody tr:last-child td{
   border-bottom:1px #eee solid;
}
table tfoot td{
   padding:16px 0;
}
tr.loading td{
   position:relative
}
tr.loading td:not([class]):after{
   background:#ddd;
   color:#ddd;
   content:"loading_text_here";
}
tr.loading td:not([class]):before{
   display: block;
   content: "";
   position: absolute;
   width: 100px;
   height: 100%;
   z-index: 10;
   animation: 1s ease-in-out infinite bgslide;
   background: linear-gradient(90deg,rgba(0,0,0,0),#ffffff34 50%,rgba(0,0,0,0))
}
@keyframes bgslide {
   0% {
       left: -100px
   }
   100% {
       left: 100px
   }
}
.table-overflow{
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
}
@media only screen and (max-width: 768px) {
   table tbody td{
		font-size:16px;
      padding-right:10px
	}
   .table-overflow {
      overflow: hidden;
      overflow-x: scroll;
      max-width: fit-content;
      overflow: auto;
      scroll-snap-type: both mandatory;
      min-width: 100%;
  }
  .table-overflow td{
   scroll-snap-align: start;
  }
   .table-overflow {
      scrollbar-width: none;
   }
}
.action-menu{
   position:sticky;
   right:-1px;
   background:transparent;
   padding:0 10px;
   white-space:nowrap;
   text-align:center;
   overflow:visible !important;
   scroll-snap-align:none;
   cursor:pointer;
   width:20px;
}
.action-menu > .material-symbols-outlined{
   opacity:0;
   transition:opacity 0.15s;
}
table tr:hover > .action-menu{
   background:#fff;
}
table tr:hover > .action-menu > .material-symbols-outlined{
   opacity:1;
}
@media(hover:none){
   .action-menu{
      background:#fff;
   }
   .action-menu > .material-symbols-outlined{
      opacity:1;
   }
}
.action-menu ul{
   display:flex;
   gap:2px;
   list-style:none;
   margin:0;
   padding:4px;
   align-items:center;
   position:absolute;
   right:6px;
   top:50%;
   transform:translateY(-50%);
   background:#fff;
   border:1px solid #eee;
   border-radius:8px;
   box-shadow:0 2px 8px rgba(0,0,0,0.08);
   opacity:0;
   visibility:hidden;
   transition:opacity 0.12s, visibility 0.12s;
   z-index:10000;
}
.action-menu ul:empty{
   display:none !important;
   pointer-events: none;
}
.action-menu:not(:has(li)){
   border-bottom:1px #eee solid;
   background:inherit !important
}
.action-menu:not(:has(li)):after{
   display:none !important
}
.action-menu:not(:has(li)) .material-symbols-outlined{
   display:none !important
}
.action-menu:hover ul{
   opacity:1;
   visibility:visible;
}
.action-menu:hover > .material-symbols-outlined{
   opacity:0;
}
.action-menu li a,
.action-menu li > span{
   display:flex !important;
   align-items:center;
   justify-content:center;
   width:30px;
   height:30px;
   border-radius:6px;
   text-decoration:none;
   color:#555;
   font-size:0;
   transition:background 0.12s, color 0.12s;
   position:relative;
}
.action-menu li a .material-symbols-outlined,
.action-menu li > span .material-symbols-outlined{
   font-size:18px !important;
}
@media(hover:hover){
   .action-menu li a:hover{
      background:#f0f0f0;
      color:#111;
   }
   .action-menu li a[style*="color:#d9534f"]:hover,
   .action-menu li a[style*="color: #d9534f"]:hover{
      background:rgba(217,83,79,0.08);
   }
   .action-menu li *[title]:hover:after{
      content:attr(title);
      position:absolute;
      bottom:calc(100% + 6px);
      left:50%;
      transform:translateX(-50%);
      background:#333;
      color:#fff;
      font-size:11px;
      font-weight:500;
      padding:4px 8px;
      border-radius:4px;
      white-space:nowrap;
      pointer-events:none;
      z-index:10000;
   }
   .action-menu li:last-child *[title]:hover:after{
      left:auto;
      transform:none;
      right:0;
   }
}
.action-menu:after{
   position:absolute;
   left:0px;
   height:100%;
   background:#eee;
   top:0;
   content:" ";
   width:2px;
   display:none;
}
table tr:hover > .action-menu:after{
   display:block;
}
table tr:hover{
   z-index:1000
}
table tr td:hover{
   z-index:10000
}
table td span{
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}
table td > a{
   text-decoration:underline
}
.action-menu span{
   display:inline !important;
   -webkit-line-clamp:unset !important;
   -webkit-box-orient:unset !important;
   overflow:visible !important;
}
.pagination{
   display:flex;
   justify-content:space-between;
   align-items:center;
   padding:16px 0;
   font-size:13px;
}
.pagination-info{
   opacity:0.5;
}
.pagination-links{
   display:flex;
   gap:12px;
}
.pagination-links a{
   font-weight:700;
}
h1{
   font-size:26px
}
article ul li{
   font-weight:inherit
}
:root{
	--header-height:60px;
	--button-color:#5B2C8E;
	--a-color:#5B2C8E;
	--aside-color-a-hover:#5B2C8E;
	--button-hover-color:#4A2375;
	--app-theme-color:#5B2C8E;
}
.dash-cards{
	display:flex;
	gap:16px;
	margin-bottom:24px;
	overflow-x:auto;
	scrollbar-width:none;
	scroll-snap-type:x mandatory;
	-webkit-overflow-scrolling:touch;
}
.dash-cards > *{
	flex:1 0 0;
	min-width:160px;
	scroll-snap-align:start;
}
.dash-card{
	background:#fff;
	border-radius:12px;
	padding:20px;
	display:flex;
	align-items:center;
	gap:14px;
	border:1px solid #eee;
	text-decoration:none;
	color:inherit;
}
.dash-card-icon{
	font-size:28px;
	color:var(--app-theme-color);
	flex-shrink:0;
}
.dash-card-body{
	display:flex;
	flex-direction:column;
}
.dash-card-value{
	font-size:28px;
	font-weight:900;
	line-height:1.1;
	letter-spacing:-0.5px;
}
.dash-card-label{
	font-size:13px;
	font-weight:500;
	color:#888;
	margin-top:2px;
}
.dash-card-sub{
	font-size:11px;
	margin-top:4px;
	line-height:1.3;
}
.dash-section{
	margin-bottom:24px;
}
.dash-section-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:12px;
}
.dash-section-head h3{
	font-size:15px;
	font-weight:700;
	margin:0;
}
.status-badge{
	display:inline-block;
	padding:3px 10px;
	border-radius:20px;
	font-size:12px;
	font-weight:600;
	line-height:1.4;
	white-space:nowrap;
}
.status-active, .status-paid, .status-completed, .status-succeeded{
	background:#e6f4ea;
	color:#1e7e34;
}
.status-pending, .status-invited, .status-in_progress{
	background:#fff3e0;
	color:#e65100;
}
.status-overdue, .status-failed, .status-cancelled, .status-disabled{
	background:#fdecea;
	color:#c62828;
}
.status-partial{
	background:#e3f2fd;
	color:#1565c0;
}
.status-paused, .status-inactive, .status-draft{
	background:#f5f5f5;
	color:#757575;
}
.chip-filters{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:16px;
	align-items:center;
}
.chip-filter{
	position:relative;
}
.chip-btn{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:6px 14px;
	border-radius:20px;
	border:1px solid #ddd;
	background:#fff;
	font-size:13px;
	font-weight:500;
	cursor:pointer;
	white-space:nowrap;
	user-select:none;
	color:#444;
   text-decoration: none;
}
.chip-btn:hover{
	border-color:#bbb;
}
.chip-btn .material-symbols-outlined{
	font-size:16px;
}
.chip-btn.active{
	background:var(--app-theme-color);
	color:#fff;
	border-color:var(--app-theme-color);
}
.chip-dropdown{
	display:none;
	position:absolute;
	top:calc(100% + 4px);
	left:0;
	background:#fff;
	border:1px solid #ddd;
	border-radius:10px;
	box-shadow:0 4px 16px rgba(0,0,0,.1);
	min-width:180px;
	z-index:100;
	padding:6px 0;
	max-height:300px;
	overflow-y:auto;
}
.chip-filter.open .chip-dropdown{
	display:block;
}
.chip-dropdown a{
	display:block;
	padding:8px 16px;
	font-size:13px;
	color:#333;
	text-decoration:none;
}
.chip-dropdown a:hover{
	background:#f5f5f5;
}
.chip-dropdown a.active{
	font-weight:600;
	color:var(--app-theme-color);
}
.chip-search{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:6px 12px;
	border-radius:20px;
	border:1px solid #ddd;
	background:#fff;
	cursor:pointer;
	transition:width .2s;
}
.chip-search input[type=text]{
	border:0;
	outline:0;
	font-size:13px;
	width:0;
	padding:0;
	transition:width .2s;
	background:transparent;
}
.chip-search.open input[type=text]{
	width:140px;
	padding-left:4px;
}
.form-section{
	margin-bottom:24px;
}
.form-section-head{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:12px;
}
.form-section-head h3{
	font-size:15px;
	font-weight:700;
	margin:0;
}
.form-section-head .material-symbols-outlined{
	font-size:20px;
	color:var(--app-theme-color);
}
.form-card{
	background:#fff;
	border-radius:12px;
	padding:20px 24px;
	border:1px solid #eee;
}
.form-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin-bottom:0;
}
.form-row.single{
	grid-template-columns:1fr;
}
.form-row + .form-row{
	margin-top:16px;
}
.table-actions{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:12px;
	gap:12px;
	flex-wrap:wrap;
}
.table-actions .button{
	white-space:nowrap;
}
table.data-table{
	width:100%;
	border-collapse:collapse;
}
table.data-table th{
	text-align:left;
	font-size:12px;
	font-weight:600;
	color:#888;
	padding:8px 12px;
	border-bottom:1px solid #eee;
	white-space:nowrap;
}
table.data-table td{
	padding:10px 12px;
	font-size:14px;
	border-bottom:1px solid #f5f5f5;
	vertical-align:middle;
}
table.data-table tr:hover td{
	background:#fafafa;
}
table.data-table td a{
	color:var(--a-color);
	text-decoration:none;
	font-weight:500;
}
table.data-table td a:hover{
	text-decoration:underline;
}
.detail-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:20px;
	gap:12px;
}
.detail-header-actions{
	display:flex;
	gap:8px;
	align-items:center;
	width:100%;
	justify-content:space-between;
}
.empty-state{
	text-align:center;
	padding:60px 20px;
	background:#fafafa;
	border-radius:12px;
	border:1px dashed #ddd;
}
.empty-state .material-symbols-outlined{
	font-size:48px;
	color:#ccc;
	margin-bottom:12px;
}
.empty-state h3{
	font-size:16px;
	font-weight:700;
	margin:0 0 8px;
}
.empty-state p{
	font-size:14px;
	color:#888;
	margin:0 0 16px;
}
.empty-state a{
	display:inline-flex;
	align-items:center;
	gap:4px;
	font-size:14px;
	font-weight:600;
	color:var(--app-theme-color);
	text-decoration:none;
}
.empty-state button{
	width:auto;
	display:inline-flex;
}
.org-setup{
	max-width:480px;
	margin:60px auto;
	padding:0 20px;
}
.org-setup h1{
	font-size:22px;
	font-weight:800;
	margin-bottom:8px;
}
.org-select{
	max-width:480px;
	margin:60px auto;
	padding:0 20px;
}
.org-select h1{
	font-size:22px;
	font-weight:800;
	margin-bottom:4px;
}
.org-select p{
	color:#888;
	font-size:14px;
	margin-bottom:20px;
}
.org-list{
	display:flex;
	flex-direction:column;
	gap:8px;
}
.org-list > a{
	display:flex;
	align-items:center;
	gap:14px;
	padding:16px 20px;
	border-radius:12px;
	border:1px solid #eee;
	background:#fff;
	text-decoration:none;
	color:inherit;
	transition:border-color .15s;
}
.org-list > a:hover{
	border-color:var(--app-theme-color);
}
.org-icon{
	width:40px;
	height:40px;
	border-radius:10px;
	background:var(--app-theme-color);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:800;
	font-size:18px;
	flex-shrink:0;
}
.org-name{
	font-weight:600;
	font-size:15px;
}
.org-role{
	font-size:12px;
	color:#888;
	margin-top:2px;
}
.progress-bar{
	width:100%;
	height:8px;
	background:#eee;
	border-radius:4px;
	overflow:hidden;
}
.progress-bar-fill,
.progress-fill{
	height:100%;
	background:var(--app-theme-color);
	border-radius:4px;
	transition:width .3s ease;
}
.progress-bar-fill.over,
.progress-fill.over{
	background:#e67e22;
}
.give-fund-row{
	display:grid;
	grid-template-columns:1fr 160px 40px;
	gap:12px;
	align-items:end;
	margin-bottom:12px;
}
.give-fund-row label{
	margin:0;
}
.give-total{
	font-size:22px;
	font-weight:800;
	margin:16px 0;
	color:var(--app-theme-color);
}
.statement{
	max-width:700px;
	margin:0 auto;
	padding:40px;
	background:#fff;
	border:1px solid #eee;
	border-radius:12px;
}
.statement-header{
	text-align:center;
	margin-bottom:32px;
	padding-bottom:20px;
	border-bottom:2px solid var(--app-theme-color);
}
.statement-header h2{
	font-size:20px;
	font-weight:800;
	margin:0 0 4px;
}
.statement-header p{
	font-size:13px;
	color:#888;
	margin:2px 0;
}
.statement-section{
	margin-bottom:24px;
}
.statement-section h4{
	font-size:14px;
	font-weight:700;
	margin:0 0 8px;
	color:#555;
}
.statement-total{
	font-size:18px;
	font-weight:800;
	text-align:right;
	margin-top:16px;
	padding-top:12px;
	border-top:2px solid #333;
}
.statement-disclaimer{
	font-size:11px;
	color:#999;
	margin-top:32px;
	line-height:1.5;
	border-top:1px solid #eee;
	padding-top:16px;
}
@media(max-width:900px){
	.dash-cards{
		gap:12px;
	}
	.dash-cards > *{
		min-width:140px;
	}
	.form-row{
		grid-template-columns:1fr;
	}
	.give-fund-row{
		grid-template-columns:1fr 120px 40px;
	}
}
@media(max-width:700px){
	.dash-card-value{
		font-size:22px;
	}
	.detail-header{
		flex-direction:column;
		align-items:flex-start;
	}
	.table-actions{
		flex-direction:column;
		align-items:flex-start;
	}
	.statement-container{
		padding:20px;
	}
	.statement-header{
		flex-direction:column;
		gap:12px;
	}
}
@media(max-width:480px){
	.chip-filters{
		overflow-x:auto;
		flex-wrap:nowrap;
		scrollbar-width:none;
	}
	.give-fund-row{
		grid-template-columns:1fr;
	}
	.quick-give-form{
		flex-direction:column;
	}
	.payment-method-options{
		flex-direction:column;
	}
	.recurring-card-header{
		flex-direction:column;
		gap:8px;
	}
}
.quick-give-form{
	display:flex;
	gap:12px;
	align-items:flex-end;
}
.quick-give-form select{
	flex:1;
	padding:10px 12px;
	border:1px solid #ddd;
	border-radius:8px;
	font-size:14px;
}
.quick-give-amount{
	display:flex;
	align-items:center;
	gap:0;
	border:1px solid #ddd;
	border-radius:8px;
	overflow:hidden;
	background:#fff;
}
.quick-give-amount > span{
	padding:10px 8px 10px 12px;
	font-weight:600;
	color:#888;
}
.quick-give-amount > input{
	border:none;
	width:100px;
	padding:10px 12px 10px 0;
	font-size:14px;
	outline:none;
}
.give-amount-input{
	display:flex;
	align-items:center;
	gap:0;
	border:1px solid #ddd;
	border-radius:8px;
	overflow:hidden;
	background:#fff;
}
.give-amount-input > span{
	padding:10px 8px 10px 12px;
	font-weight:600;
	color:#888;
}
.give-amount-input > input{
	border:none;
	width:100%;
	padding:10px 12px 10px 0;
	font-size:14px;
	outline:none;
}
.give-summary{
	background:#f9f9fb;
	border-radius:10px;
	padding:16px 20px;
	margin-top:16px;
}
.give-summary-line{
	display:flex;
	justify-content:space-between;
	font-size:14px;
	padding:4px 0;
}
.give-summary-line.give-total{
	font-weight:700;
	font-size:18px;
	border-top:1px solid #ddd;
	margin-top:8px;
	padding-top:8px;
}
.payment-method-options{
	display:flex;
	gap:12px;
}
.payment-method-option{
	display:flex;
	align-items:center;
	gap:8px;
	padding:14px 20px;
	border:2px solid #eee;
	border-radius:10px;
	cursor:pointer;
	flex:1;
	font-size:14px;
	font-weight:500;
	transition:border-color .15s;
}
.payment-method-option:has(input:checked){
	border-color:var(--app-theme-color);
	background:rgba(91,44,142,.04);
}
.payment-method-option input[type=radio]{
	display:none;
}
.payment-method-option .material-symbols-outlined{
	color:var(--app-theme-color);
}
.remove-fund-row{
	align-self:center;
	margin-top:6px;
}
.pledge-card{
	background:#fff;
	border:1px solid #eee;
	border-radius:12px;
	padding:20px;
	margin-bottom:12px;
}
.pledge-card-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:12px;
}
.pledge-card-header strong{
	font-size:15px;
}
.pledge-freq{
	font-size:12px;
	color:#888;
	margin-left:8px;
}
.pledge-amounts{
	font-size:16px;
	font-weight:600;
}
.pledge-card-footer{
	display:flex;
	justify-content:space-between;
	margin-top:8px;
}
.recurring-card{
	background:#fff;
	border:1px solid #eee;
	border-radius:12px;
	padding:20px;
	margin-bottom:12px;
}
.recurring-card-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:12px;
}
.recurring-freq{
	font-size:13px;
	color:#666;
	margin-left:8px;
}
.recurring-amount{
	font-size:20px;
	font-weight:700;
}
.recurring-allocations{
	border-top:1px solid #f0f0f0;
	padding-top:10px;
}
.recurring-alloc-row{
	display:flex;
	justify-content:space-between;
	font-size:13px;
	padding:4px 0;
}
.recurring-actions{
	display:flex;
	gap:8px;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid #f0f0f0;
}
.modal-overlay{
	display:none;
	position:fixed;
	top:0;left:0;right:0;bottom:0;
	background:rgba(0,0,0,.4);
	z-index:1000;
	align-items:center;
	justify-content:center;
	z-index: 1000000000
}
.modal-overlay.open{
	display:flex;
}
.modal-content{
	background:#fff;
	border-radius:14px;
	padding:24px;
	width:90%;
	max-width:480px;
	max-height:90vh;
	overflow-y:auto;
	box-shadow:0 20px 60px rgba(0,0,0,.15);
}
.modal-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:20px;
}
.modal-header h3{
	margin:0;
	font-size:18px;
	font-weight:700;
}
.btn-sm{
	padding:6px 14px;
	font-size:13px;
	border-radius:6px;
	cursor:pointer;
	display:inline-block;
	text-decoration:none;
}
.btn-outline{
	background:transparent;
	border:1px solid #ddd;
	color:var(--text-color);
}
.btn-outline:hover{
	border-color:#bbb;
}
.btn-primary.btn-sm{
	background:var(--button-color);
	color:#fff;
	border:none;
}
.statement-container{
	max-width:700px;
	margin:0 auto;
	padding:40px;
	background:#fff;
	border:1px solid #eee;
	border-radius:12px;
}
.statement-header{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-bottom:24px;
	padding-bottom:16px;
	border-bottom:2px solid var(--app-theme-color);
}
.statement-donor{
	background:#f9f9fb;
	border-radius:8px;
	padding:16px;
	margin-bottom:16px;
}
.statement-footer{
	font-size:11px;
	color:#999;
	margin-top:32px;
	line-height:1.5;
	border-top:1px solid #eee;
	padding-top:16px;
}
.alert-success{
	background:#E8F5E9;
	border:1px solid #C8E6C9;
	padding:12px 16px;
	border-radius:8px;
	margin-bottom:16px;
	font-size:14px;
	color:#2E7D32;
}
main.main-min{
	background:#f7f7f8;
}
main.main-min .main-head{
	background:#fff;
	border-bottom:1px solid #eee;
	padding:0 20px;
}
main.main-min .main-head h1{
	font-size:18px;
	font-weight:600;
	color:#1a1a1a;
	white-space:nowrap;
}
main.main-min .main-head .exit{
	width:36px;
	height:36px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:8px;
	color:#666;
	transition:background 0.15s, color 0.15s;
	text-decoration:none;
}
main.main-min .main-head .exit:hover{
	background:#f0f0f0;
	color:#1a1a1a;
}
main.main-min .inner{
	max-width:720px;
	padding:32px 24px 64px;
}
.detail-tabs{
	display:flex;
	gap:0;
	border-bottom:1px solid #eee;
	margin-bottom:20px;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	position:sticky;
	top:var(--header-height);
	background:#fff;
	z-index:9999;
}
.detail-tabs::-webkit-scrollbar{ display:none; }
.detail-tabs a{
	padding:10px 18px;
	font-size:14px;
	font-weight:600;
	color:#888;
	text-decoration:none;
	border-bottom:2px solid transparent;
	transition:all 0.15s;
	white-space:nowrap;
}
.detail-tabs a:hover{
	color:#333;
}
.detail-tabs a.active{
	color:var(--app-theme-color);
	border-bottom-color:var(--app-theme-color);
}
.detail-tabs a.tab-error{
	color:#d9534f;
	border-bottom-color:#d9534f;
	animation:tab-error-pulse 0.3s ease 2;
}
@keyframes tab-error-pulse{
	0%,100%{ background:transparent }
	50%{ background:rgba(217,83,79,0.08) }
}
#mbody{
	padding:10px 24px
}
select{
	width:100%
}
#mbody a.button,
#mbody button.button,
#mbody .button,
#mbody button[type="submit"],
#mbody button[type="button"],
.main-min a.button,
.main-min button.button,
.main-min .button,
.main-min button[type="submit"],
.main-min button[type="button"]{
	width:auto;
	display:inline-flex;
	border-radius:20px;
}
form.processing button[type="submit"]{
	pointer-events:none;
}
@media print{
	header, aside, .detail-header, .btn-sm, .btn-outline, .navigation-floater{
		display:none !important;
	}
	main{
		margin:0 !important;
		padding:0 !important;
	}
	.statement-container{
		border:none;
		box-shadow:none;
		padding:0;
	}
}
@media(max-width:700px){
	main.main-min .inner{
		padding:20px 16px 48px;
	}
}



