
@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: 230px;
}
@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;   
   }
}body, html{
   background: var(--bgimage);
   background-size: cover;
   background-attachment: fixed;
   background-position: center center;
   margin:0;
   padding:0;
   font-family:"Lato",  "Lato-fallback", Tahoma;
   font-display:swap;
   font-size:20px;
   margin:0 auto;
}
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;
}
#inviteModal{
   z-index:100000000000 !important;
}
#mbody{
   padding:var(--grid-gap);
}
.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:900px;
   padding:24px 20px 60px;
}
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;
}
li{
   font-size:inherit;
   color:var(--text-color);
}
article p:not(:empty){
   margin-bottom:20px;
}
.material-symbols-outlined{
   vertical-align: bottom;
   font-size: 1.2em !important;
   top: 0px;
   position: relative;
   text-align:center;
}
@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);
}
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;
}
aside .logo{
   padding:6px;
   margin-bottom:12px;
}
@media only screen and (max-width: 768px) {
   .desktop-only{
      display:none !important
   }
   header{
      justify-content: space-between;
      align-items:center
   }
   .mobile-browser-only{
      display:flex !important
   }
   main{
      max-width:none !important;
      margin-left:auto !important;
   }
   aside{
      display:none !important;
      width: 100% !important;
      position:fixed;
      left:0;
      right:0;
      align-items:unset
   }
   .aside-open aside{
      display:grid !important;
      padding-top:60px !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) no-repeat right 10px center !important;
   -webkit-appearance: none;
   -moz-appearance: none;
   padding-right:30px;
}
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;
}
@media (pointer:coarse){
	input, select, textarea{
		font-size:16px !important;
	}
}
.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{
   color:var(--button-color)
}
.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;
}
.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;
   text-decoration: none;
   font-size:16px;
   display:flex;
   align-items:center;
   gap:10px;
   justify-content: start;
   align-items: center;
}
.navigation-aside li a.active{
   color:var(--aside-color-a-hover);
}
.navigation-aside a:hover{
   background:var(--aside-color-li-hover);
}
.navigation-aside .nav-badge{
    background: #ebebeb;
    color: #000000;
    font-size: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 19px;
    border-radius: 4px;
    margin-left:auto
}
.navigation-aside li.active ul{
   display:block;
}
.navigation-aside ul{
   padding-left:29px;
}
.navigation-aside li .material-symbols-outlined{
   font-size: 18px !important;
   top:1px
}
.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
   }
}
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;
}
activity-*/monthly-*/spark-* dashboard kit, detail-*,
   .form-section/.form-row/.form-card.
   Every block here exists (same selector) in >=4 sites; most are
   byte-identical in 5-8 sites. Site css loads AFTER framework css,
   so existing per-site copies keep winning until they are removed
   site-by-site.
   ============================================================ */
:root{
	--app-theme-color:#1a5bc1;
	--app-theme-dark:color-mix(in srgb, var(--app-theme-color) 78%, #000);
	--app-theme-soft:color-mix(in srgb, var(--app-theme-color) 10%, #fff);
}
.impersonate-banner{
	background:#ff9800;
	color:#fff;
	margin:8px 12px 12px;
	padding:10px 12px;
	border-radius:8px;
	display:flex;
	align-items:center;
	gap:8px;
	font-size:12px;
	line-height:1.3;
}
.impersonate-banner strong{ display:block; font-size:11px; word-break:break-all }
.impersonate-banner a{
	margin-left:auto;
	flex-shrink:0;
	color:#fff;
	background:rgba(0,0,0,0.2);
	padding:4px 10px;
	border-radius:6px;
	text-decoration:none;
	font-size:11px;
	font-weight:600;
}
.dash-cards{
	display:flex;
	gap:var(--grid-gap);
	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:1px solid #eee;
	border-radius:12px;
	padding:20px;
	display:flex;
	align-items:center;
	gap:14px;
	text-decoration:none;
	color:inherit;
}
.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-cards-small{
	display:flex;
	gap:16px;
	margin-bottom:24px;
	overflow-x:auto;
	scrollbar-width:none;
	scroll-snap-type:x mandatory;
	-webkit-overflow-scrolling:touch;
}
.dash-cards-small > *{
	flex:1 0 0;
	min-width:120px;
	scroll-snap-align:start;
}
.dash-card-small{
	background:#fff;
	border-radius:10px;
	padding:16px;
	border:1px solid #f0f0f0;
}
.dash-card-small-value{
	font-size:22px;
	font-weight:800;
	letter-spacing:-0.3px;
}
.dash-card-small-label{
	font-size:12px;
	color:#888;
	margin-top:2px;
}
.dash-section{
	margin-bottom:18px;
}
.dash-section-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:12px;
}
.dash-section-head:has(+ .detail-card){
	margin-bottom:0;
	padding:12px 16px 10px;
	background:#fff;
	border:1px solid #f0f0f0;
	border-bottom:none;
	border-top-left-radius:12px;
	border-top-right-radius:12px;
}
.dash-section-head:has(+ .detail-card) h2{
	font-size:14px;
	font-weight:700;
}
.dash-section-head:has(+ .detail-card) + .detail-card{
	border-top:none;
	border-top-left-radius:0;
	border-top-right-radius:0;
}
.dash-section-head h2{
	font-size:16px;
	font-weight:700;
	margin:0;
}
.dash-section-head a{
	font-size:13px;
	color:var(--app-theme-color);
	text-decoration:none;
	font-weight:600;
}
.dash-columns-half{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:var(--grid-gap);
}
.dash-insights-card{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:var(--grid-gap);
	max-height:200px;
	overflow:hidden;
	transition:max-height .3s ease;
}
.dash-insights-card.expanded{
	max-height:none;
}
.dash-insights-toggle{
	text-align:center;
	margin-top:8px;
}
.dash-insights-toggle button{
	background:none;
	border:none;
	color:var(--app-theme-color);
	font-size:13px;
	font-weight:600;
	cursor:pointer;
	padding:4px 12px;
	display:inline-flex;
	align-items:center;
	gap:2px;
}
.dash-insight-row{
	display:flex;
	align-items:flex-start;
	gap:14px;
	padding:16px 18px;
	border-radius:12px;
	text-decoration:none;
	color:inherit;
	transition:box-shadow .15s, transform .15s;
	border:1px solid #f0f0f0;
	background:#fff;
}
.dash-insight-icon{
	width:40px;
	height:40px;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.dash-insight-icon .material-symbols-outlined{
	font-size:22px;
}
.dash-insight-body{
	flex:1;
	min-width:0;
}
.dash-insight-title{
	font-size:14px;
	font-weight:700;
	line-height:1.3;
	color:#1a1a1a;
	margin-bottom:3px;
}
.dash-insight-detail{
	font-size:12px;
	line-height:1.5;
	color:#888;
}
.dash-insight-action{
	flex-shrink:0;
	align-self:center;
	font-size:12px;
	font-weight:700;
	padding:6px 14px;
	border-radius:8px;
	white-space:nowrap;
	transition:opacity .15s;
}
.dash-insight-action:hover{ opacity:.85 }
.dash-insight-row.severity-critical{ border-color:rgba(217,83,79,.2); background:rgba(217,83,79,.03) }
.dash-insight-row.severity-critical .dash-insight-icon{ background:rgba(217,83,79,.1); color:#d9534f }
.dash-insight-row.severity-critical .dash-insight-action{ background:rgba(217,83,79,.1); color:#d9534f }
.dash-insight-row.severity-warning{ border-color:rgba(230,126,34,.2); background:rgba(230,126,34,.03) }
.dash-insight-row.severity-warning .dash-insight-icon{ background:rgba(230,126,34,.1); color:#e67e22 }
.dash-insight-row.severity-warning .dash-insight-action{ background:rgba(230,126,34,.1); color:#e67e22 }
.dash-insight-row.severity-info{ border-color:color-mix(in srgb, var(--app-theme-color) 15%, transparent); background:color-mix(in srgb, var(--app-theme-color) 2%, transparent) }
.dash-insight-row.severity-info .dash-insight-icon{ background:color-mix(in srgb, var(--app-theme-color) 10%, transparent); color:var(--app-theme-color) }
.dash-insight-row.severity-info .dash-insight-action{ background:color-mix(in srgb, var(--app-theme-color) 10%, transparent); color:var(--app-theme-color) }
.dash-insight-row.severity-positive{ border-color:rgba(34,139,34,.2); background:rgba(34,139,34,.03) }
.dash-insight-row.severity-positive .dash-insight-icon{ background:rgba(34,139,34,.1); color:#228b22 }
.dash-insight-row.severity-positive .dash-insight-action{ background:rgba(34,139,34,.1); color:#228b22 }
.chip-filters{
	margin-bottom:16px;
}
.chip-bar{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	width:stretch;
	justify-content: space-between;
}
.chip-bar-left{
	display:flex;
	align-items:center;
	gap:6px;
	flex:1;
	min-width:0;
	flex-wrap:wrap;
}
.chip-bar-right{
	display:flex;
	align-items:center;
	gap:10px;
	flex-shrink:0;
	margin-left:auto;
}
.chip-filter{
	position:relative;
}
.chip-btn{
	display:inline-flex;
	align-items:center;
	gap:2px;
	height:34px;
	padding:0 10px 0 12px;
	border:1px solid #ddd;
	border-radius:18px;
	background:#fff;
	font-size:13px;
	font-weight:600;
	color:#555;
	cursor:pointer;
	white-space:nowrap;
	transition:all 0.15s;
}
.chip-btn:hover{
	border-color:#bbb;
	background:#fafafa;
}
.chip-btn.active{
	background:var(--app-theme-color);
	color:#fff;
	border-color:var(--app-theme-color);
}
.chip-btn.active:hover{
	opacity:0.9;
}
.chip-arrow{
	font-size:16px !important;
	transition:transform 0.15s;
}
.chip-filter.open .chip-arrow{
	transform:rotate(180deg);
}
.chip-dropdown{
	display:none;
	position:absolute;
	top:calc(100% + 6px);
	left:0;
	min-width:180px;
	max-height:260px;
	overflow-y:auto;
	background:#fff;
	border:1px solid #e0e0e0;
	border-radius:10px;
	box-shadow:0 8px 24px rgba(0,0,0,0.1);
	z-index:100;
}
.chip-filter.open .chip-dropdown{
	display:block;
}
.chip-dropdown a{
	display:block;
	padding:8px 14px;
	font-size:13px;
	color:#333;
	text-decoration:none;
	transition:background 0.1s;
}
.chip-dropdown a:hover{
	background:#f5f5f5;
}
.chip-dropdown a.selected{
	display:flex;
	align-items:center;
	justify-content:space-between;
	color:var(--app-theme-color);
	font-weight:700;
	background:color-mix(in srgb, var(--app-theme-color) 6%, transparent);
}
.chip-dropdown a.selected::after{
	content:"✓";
	font-size:14px;
	margin-left:8px;
}
.chip-search{
	display:flex;
	align-items:center;
	gap:0;
	background:#fff;
	border:1px solid #ddd;
	border-radius:18px;
	padding:0;
	height:34px;
	width:34px;
	justify-content:center;
	cursor:pointer;
	transition:width 0.2s,padding 0.2s,gap 0.2s;
	overflow:hidden;
}
.chip-search.open{
	width:auto;
	min-width:180px;
	max-width:260px;
	padding:0 12px;
	gap:6px;
	cursor:default;
}
.chip-search .material-symbols-outlined{
	font-size:18px;
	color:#aaa;
	flex-shrink:0;
}
.chip-search form{
	width:0;
	overflow:hidden;
}
.chip-search.open form{
	width:auto;
	flex:1;
}
.chip-search input{
	border:none;
	outline:none;
	font-size:13px;
	background:transparent;
	width:0;
	height:100%;
	padding:0;
	opacity:0;
	transition:width 0.2s, opacity 0.15s;
}
.chip-search.open input{
	width:100%;
	opacity:1;
}
.chip-tag{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:4px 8px 4px 12px;
	background:color-mix(in srgb, var(--app-theme-color) 8%, transparent);
	color:var(--app-theme-color);
	border-radius:14px;
	font-size:12px;
	font-weight:700;
	text-decoration:none;
	transition:background 0.15s;
}
.chip-tag:hover{
	background:color-mix(in srgb, var(--app-theme-color) 15%, transparent);
}
.chip-tag .material-symbols-outlined{
	font-size:14px;
}
main.main-min{
	background:linear-gradient(to bottom, #f7f7f8 0%, #fff 100%);
}
main.main-min .main-head{
	background:#fff;
	border-bottom:1px solid #eee;
	padding:0 20px;
	margin-bottom:0;
}
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;
}
form.processing button[type="submit"]{
	pointer-events:none;
}
form.processing button[type="submit"]::after{
	content:"";
	width:18px;
	height:18px;
	border:2.5px solid rgba(255,255,255,0.3);
	border-top-color:#fff;
	border-radius:50%;
	animation:btn-spin 0.6s linear infinite;
}
form.saved button[type="submit"]{
	color:transparent !important;
	background:#27ae60 !important;
	pointer-events:none;
	min-width:110px;
}
form.saved button[type="submit"]::after{
	content:"\2713  Saved!" !important;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-size:13px;
	font-weight:700;
	letter-spacing:0.5px;
	animation:btn-pop 0.3s ease;
}
.form-section{
	margin-bottom:28px;
}
.form-section:last-of-type{
	margin-bottom:0;
}
.form-section-head{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:12px;
}
.form-section-head .material-symbols-outlined{
	font-size:20px !important;
	color:var(--app-theme-color);
	opacity:0.8;
}
.form-section-head h3{
	margin:0;
	padding:0;
	font-size:15px;
	font-weight:700;
	color:#1a1a1a;
}
.form-card{
	position:relative;
	padding:20px;
	background:#fff;
	border:1px solid #e8e8eb;
	border-radius:12px;
}
.form-card > .remove-btn{
	position:absolute;
	top:8px;
	right:8px;
	height:auto !important;
	z-index:2;
}
.form-row{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
	gap:12px;
	margin-bottom:12px;
}
.form-row-3{
	grid-template-columns:repeat(3, 1fr);
}
.form-row-4{
	grid-template-columns:repeat(4, 1fr);
}
.form-row label{
	font-size:13px;
	font-weight:600;
	color:#555;
	display:block;
	margin-bottom:4px;
}
.form-row input,
.form-row select,
.form-row textarea{
	width:100%;
	height:38px;
	padding:0 12px;
	border:1px solid #ddd;
	border-radius:8px;
	font-size:14px;
	background:#fff;
	transition:border-color 0.15s;
}
.form-row textarea{
	height:80px;
	padding:10px 12px;
	resize:vertical;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
	border-color:var(--app-theme-color);
	outline:none;
}
.prop-row{
	cursor:pointer;
	transition:background 0.1s;
}
.prop-row.expanded{
	background:color-mix(in srgb, var(--app-theme-color) 4%, transparent);
}
.prop-detail{
	display:none;
}
.prop-detail.open{
	display:table-row;
}
.prop-detail td{
	padding:0 !important;
	border-top:none !important;
}
.prop-detail-inner{
	padding:16px 20px 20px;
	background:color-mix(in srgb, var(--app-theme-color) 3%, #fff);
	border-top:1px dashed color-mix(in srgb, var(--app-theme-color) 15%, transparent);
}
.prop-detail-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
	gap:14px 24px;
}
.prop-detail-grid > div{
	display:flex;
	flex-direction:column;
	gap:2px;
}
.prop-detail-grid > div > span:first-child,
.prop-detail-notes > span:first-child{
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	color:#999;
	letter-spacing:0.3px;
}
.prop-detail-grid > div > span:last-child{
	font-size:14px;
	font-weight:600;
	color:#333;
}
.prop-detail-notes{
	margin-top:14px;
	padding-top:14px;
	border-top:1px solid rgba(0,0,0,0.06);
}
.prop-detail-notes p{
	margin:4px 0 0;
	font-size:14px;
	line-height:1.5;
	color:#555;
}
.detail-header{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	margin-bottom:20px;
	gap:16px;
}
.detail-header-left{
	flex:1;
}
.detail-header h1{
	font-size:22px;
	font-weight:800;
	margin:0 0 4px;
	color:#1a1a1a;
}
.detail-header-meta{
	font-size:14px;
	color:#888;
	display:flex;
	gap:12px;
	align-items:center;
	flex-wrap:wrap;
}
.detail-header-actions{
	display:flex;
	gap:8px;
}
.detail-header-actions a,
.detail-header-actions button{
	height:36px;
	padding:0 16px;
	border-radius:8px;
	font-size:13px;
	font-weight:600;
	display:inline-flex;
	align-items:center;
	gap:4px;
	text-decoration:none;
	border:1px solid #ddd;
	background:#fff;
	color:#333;
	cursor:pointer;
	transition:all 0.15s;
	white-space: nowrap;
}
.detail-header-actions .btn-primary{
	background:var(--app-theme-color);
	color:#fff;
	border-color:var(--app-theme-color);
	white-space: nowrap;
}
.detail-header-actions .btn-primary:hover{
	opacity:0.9;
}
.detail-header-actions .btn-danger{
	color:#d9534f;
	border-color:#d9534f;
}
.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;
}
.detail-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	margin-bottom:24px;
}
.detail-card{
	background:#fff;
	border:1px solid #f0f0f0;
	border-radius:12px;
	padding:20px;
	overflow-x: auto;
	scrollbar-width: none;
}
.detail-card h3{
	font-size:14px;
	font-weight:700;
	margin:0 0 12px;
	color:#1a1a1a;
	display:flex;
	align-items:center;
	gap:6px;
}
.detail-card h3 .material-symbols-outlined{
	font-size:18px;
	color:var(--app-theme-color);
}
.detail-field{
	display:flex;
	justify-content:space-between;
	padding:6px 0;
	border-bottom:1px solid #f5f5f5;
	font-size:13px;
}
.detail-field:last-child{ border-bottom:none; }
.detail-field-label{ color:#888; }
.detail-field-value{ font-weight:600; color:#1a1a1a; }
.detail-card-full{
	grid-column:1/-1;
}
.org-select{
	max-width:480px;
	margin:60px auto;
	text-align:center;
}
.org-select h1{
	font-size:22px;
	font-weight:800;
	margin-bottom:8px;
}
.org-select p{
	color:#888;
	margin-bottom:24px;
}
.org-list{
	display:grid;
	gap:10px;
	text-align:left;
}
.org-list a{
	display:flex;
	align-items:center;
	gap:12px;
	padding:16px 20px;
	background:#fff;
	border:1px solid #eee;
	border-radius:10px;
	text-decoration:none;
	color:#333;
	transition:all 0.15s;
}
.org-list a:hover{
	border-color:var(--app-theme-color);
	box-shadow:0 2px 8px color-mix(in srgb, var(--app-theme-color) 8%, transparent);
}
.org-setup{
	max-width:520px;
	margin:60px auto;
	padding:40px 0;
}
.org-setup h1{
	font-size:22px;
	font-weight:800;
	margin-bottom:24px;
	text-align:center;
}
@media(max-width:900px){
	.dash-insights-card{ grid-template-columns:1fr; }
	.dash-columns-half{ grid-template-columns:1fr; }
	.detail-grid{ grid-template-columns:1fr !important; }
	.form-row-3, .form-row-4{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
	.dash-card{ padding:14px; gap:10px; }
	.dash-card-value{ font-size:22px; }
	.dash-card-label{ font-size:12px; }
}
@media(max-width:700px){
	.detail-header{ flex-direction:column; }
	.detail-header-actions{ width:100%; }
	.detail-header-actions a,
		.detail-header-actions button{ flex:1; justify-content:center; }
}
@media(max-width:500px){
	.form-row, .form-row-3, .form-row-4{ grid-template-columns:1fr; }
	.dash-card{ padding:12px; gap:8px; }
	.dash-card-value{ font-size:20px; }
	.dash-card-small-value{ font-size:18px; }
}
#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;
}
@media print{
	#mbody{ padding:0 !important; }
}
.page-dashboard #mbody{ display:flex; flex-direction:column; gap:20px; }
.dash-hero{ display:grid; grid-template-columns:2fr 1fr; gap:20px; }
.dash-hero-main{
	background:linear-gradient(135deg, var(--app-theme-dark) 0%, var(--app-theme-color) 100%);
	color:#fff;
	border-radius:18px;
	padding:28px 32px 24px;
	box-shadow:0 12px 32px color-mix(in srgb, var(--app-theme-color) 22%, transparent);
	position:relative;
	overflow:hidden;
}
.dash-hero-main::before{
	content:""; position:absolute; inset:0;
	background:radial-gradient(ellipse at top right, rgba(255,255,255,0.18), transparent 60%);
	pointer-events:none;
}
.dash-hero-main > *{ position:relative; z-index:1; }
.dash-hero-main small{ font-size:11px; text-transform:uppercase; letter-spacing:0.6px; color:rgba(255,255,255,0.78); font-weight:700; }
.dash-hero-main h1{ font-size:48px; font-weight:900; letter-spacing:-1.2px; margin:6px 0 8px; line-height:1; color:#fff; }
.dash-hero-meta{ display:flex; align-items:center; gap:14px; font-size:13px; flex-wrap:wrap; }
.dash-hero-meta > span{ color:rgba(255,255,255,0.85); }
.dash-yoy{ display:inline-flex; align-items:center; gap:4px; background:rgba(255,255,255,0.18); padding:4px 12px; border-radius:14px; font-weight:700; }
.dash-yoy .material-symbols-outlined{ font-size:16px; }
.dash-yoy.up{ background:rgba(70, 200, 130, 0.32); }
.dash-yoy.down{ background:rgba(255, 130, 130, 0.32); }
.dash-sparkline{ margin-top:22px; display:flex; align-items:flex-end; gap:6px; height:64px; }
.spark-bar{ flex:1; background:rgba(255,255,255,0.42); border-radius:4px 4px 0 0; min-height:2px; transition:background 0.2s; }
.spark-bar.current{ background:#fff; }
.spark-bar:hover{ background:rgba(255,255,255,0.85); }
.dash-sparkline-labels{ display:flex; gap:6px; margin-top:6px; }
.dash-sparkline-labels span{ flex:1; text-align:center; font-size:10px; color:rgba(255,255,255,0.65); font-weight:600; }
.dash-hero-side{ display:flex; }
.dash-actions-card{
	background:#fff;
	border:1px solid #eee;
	border-radius:14px;
	padding:18px 20px;
	width:100%;
	display:flex; flex-direction:column; gap:10px;
}
.dash-actions-card h3{
	margin:0 0 4px;
	font-size:13px; font-weight:800;
	text-transform:uppercase; letter-spacing:0.5px;
	color:#555;
	display:flex; align-items:center; gap:6px;
}
.dash-actions-card h3 .material-symbols-outlined{ font-size:18px; color:var(--app-theme-color); }
.dash-actions-count{
	margin-left:auto;
	background:var(--app-theme-color);
	color:#fff;
	font-size:11px; font-weight:800;
	padding:2px 9px; border-radius:10px;
}
.dash-action{
	display:flex; align-items:center; gap:10px;
	padding:8px 12px; border-radius:8px;
	background:#fafafa; color:#333;
	text-decoration:none; font-size:13px;
	transition:background 0.15s, transform 0.1s;
}
.dash-action:hover{ background:var(--app-theme-soft); transform:translateX(2px); }
.dash-action .material-symbols-outlined{ font-size:18px; flex-shrink:0; }
.dash-action-label{ flex:1; font-weight:600; }
.dash-action-count{
	background:#fff; border:1px solid #e0e0e0;
	font-size:12px; font-weight:700;
	padding:2px 9px; border-radius:10px;
	min-width:24px; text-align:center;
}
.dash-action-danger .material-symbols-outlined{ color:#c62828; }
.dash-action-danger .dash-action-count{ background:#fdecea; color:#c62828; border-color:#f5c2c0; }
.dash-action-warning .material-symbols-outlined{ color:#e65100; }
.dash-action-warning .dash-action-count{ background:#fff3e0; color:#e65100; border-color:#ffe0b2; }
.dash-action-info .material-symbols-outlined{ color:var(--app-theme-color); }
.dash-actions-empty{ align-items:center; justify-content:center; text-align:center; padding:24px; }
.dash-actions-empty .material-symbols-outlined{ font-size:36px; color:#1e7e34; }
.dash-actions-empty h3{ font-size:15px; text-transform:none; letter-spacing:0; color:#333; display:block; margin-top:6px; }
.dash-actions-empty p{ font-size:12px; color:#888; margin:0; }
.dash-kpi-strip{ display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; }
.dash-kpi{
	background:#fff; border:1px solid #eee; border-radius:12px;
	padding:14px 16px;
	display:flex; flex-direction:column; gap:2px;
	border-left:3px solid #ddd;
}
.dash-kpi small{ font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:#888; font-weight:700; }
.dash-kpi strong{ font-size:22px; font-weight:800; letter-spacing:-0.4px; }
.dash-kpi span{ font-size:11px; color:#999; }
.dash-kpi-good{ border-left-color:#1e7e34; }
.dash-kpi-good strong{ color:#1e7e34; }
.dash-kpi-bad{ border-left-color:#c62828; }
.dash-kpi-bad strong{ color:#c62828; }
.dash-kpi-warn{ border-left-color:#e65100; }
.dash-kpi-warn strong{ color:#e65100; }
.dash-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.dash-panel{
	background:#fff; border:1px solid #eee; border-radius:14px;
	padding:18px 22px;
}
.dash-panel-head{
	display:flex; justify-content:space-between; align-items:center;
	margin-bottom:14px;
}
.dash-panel-head h3{
	margin:0; font-size:13px; font-weight:800;
	text-transform:uppercase; letter-spacing:0.5px;
	color:#555;
	display:flex; align-items:center; gap:6px;
}
.dash-panel-head h3 .material-symbols-outlined{ font-size:18px; color:var(--app-theme-color); }
.dash-panel-link{ font-size:12px; color:#888; text-decoration:none; font-weight:600; }
.dash-panel-link:hover{ color:var(--app-theme-color); }
.monthly-chart{ display:flex; align-items:flex-end; gap:8px; height:160px; padding:0 4px; }
.month-col{ flex:1; display:flex; flex-direction:column; align-items:center; height:100%; gap:4px; }
.month-bars{ flex:1; display:flex; align-items:flex-end; gap:3px; width:100%; min-height:0; }
.month-bar{ flex:1; border-radius:3px 3px 0 0; min-height:2px; transition:opacity 0.15s; }
.month-bar.income{ background:linear-gradient(to top, #1e7e34, #4caf50); }
.month-bar.expense{ background:linear-gradient(to top, #c62828, #ef6e6a); }
.month-col:hover .month-bar{ opacity:0.85; }
.month-label{ font-size:11px; color:#888; font-weight:600; }
.monthly-legend{ display:flex; gap:16px; margin-top:14px; font-size:12px; color:#666; justify-content:center; }
.legend-dot{ display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; vertical-align:middle; }
.legend-dot.income{ background:#4caf50; }
.legend-dot.expense{ background:#c62828; }
.activity-feed{ display:flex; flex-direction:column; }
.activity-row{
	display:grid; grid-template-columns:36px 1fr auto auto;
	align-items:center; gap:12px;
	padding:8px 0;
	border-bottom:1px solid #f5f5f5;
	color:#333; text-decoration:none;
	transition:background 0.15s;
}
.activity-row:hover{ background:#fafafa; }
.activity-row:last-child{ border-bottom:none; }
.activity-icon{
	width:32px; height:32px; border-radius:8px;
	display:flex; align-items:center; justify-content:center;
	flex-shrink:0;
}
.activity-icon .material-symbols-outlined{ font-size:18px; }
.activity-icon.good{ background:#e6f4ea; color:#1e7e34; }
.activity-icon.bad{ background:#fdecea; color:#c62828; }
.activity-icon.neutral{ background:#f0f0f0; color:#666; }
.activity-meta strong{ display:block; font-size:13px; font-weight:600; }
.activity-meta small{ display:block; font-size:11px; color:#999; margin-top:2px; }
.activity-amount{ font-size:14px; font-weight:700; white-space:nowrap; }
.activity-time{ font-size:11px; color:#999; white-space:nowrap; }
@keyframes btn-spin{
	to{ transform:rotate(360deg); }
}
@keyframes btn-pop{
	0%{ transform:scale(0.8); opacity:0; }
	50%{ transform:scale(1.05); }
	100%{ transform:scale(1); opacity:1; }
}
@keyframes tab-error-pulse{
	0%,100%{ background:transparent }
	50%{ background:rgba(217,83,79,0.08) }
}
button .material-symbols-outlined,
a.btn-primary .material-symbols-outlined,
a.button-secondary .material-symbols-outlined,
a.button .material-symbols-outlined,
.btn-primary .material-symbols-outlined,
.button-secondary .material-symbols-outlined,
.action-menu .material-symbols-outlined{
	font-size:16px !important;
}
.btn-primary{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:8px 18px;
	border-radius:8px;
	font-size:14px;
	font-weight:600;
	background:var(--app-theme-color);
	color:#fff;
	border:1px solid var(--app-theme-color);
	text-decoration:none;
	cursor:pointer;
	white-space:nowrap;
	transition:opacity 0.15s;
}
.btn-primary:hover{ opacity:0.9; color:#fff; }
.btn-danger{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:8px 18px;
	border-radius:8px;
	font-size:13px;
	font-weight:600;
	background:#e53e3e;
	color:#fff;
	border:1px solid #e53e3e;
	text-decoration:none;
	cursor:pointer;
	white-space:nowrap;
	transition:opacity 0.15s;
}
.btn-danger:hover{ opacity:0.9; color:#fff; }
select.select-sm{
}
table td select.select-sm{
	height:auto;
	font-size:13px;
	padding:4px 28px 4px 8px;
	border:1px solid #ddd;
	border-radius:6px;
	background-color:#fff;
	width:auto;
}
.navigation-aside .nav-section-header{
	display:block;
	padding:10px 8px 6px;
	margin-top:10px;
	border-top:1px solid #efefef;
	font-size:10px;
	line-height:1.4;
	font-weight:800;
	letter-spacing:0.45px;
	text-transform:uppercase;
	color:#999;
}
.navigation-aside li:first-child .nav-section-header{
	margin-top:0;
	border-top:none;
	padding-top:0;
}
.status-badge{
	display:inline-block;
	padding:3px 10px;
	border-radius:20px;
	font-size:12px;
	font-weight:700;
	white-space:nowrap;
	background:#eee;
}
.status-active,.status-occupied,.status-paid,
.status-signed,.status-closed,.status-approved{ background:#e8f5e9; color:#228b22; }
.status-pending,.status-sent,.status-viewed,
.status-in_progress,.status-scheduled,
.status-open,.status-under_review{ background:color-mix(in srgb, var(--app-theme-color) 9%, #fff); color:var(--app-theme-color); }
.status-draft,.status-vacant,.status-expired,
.status-voided,.status-void,.status-withdrawn{ background:#f0f0f0; color:#6c757d; }
.status-overdue,.status-emergency,
.status-terminated,.status-denied{ background:#fde8e8; color:#d9534f; }
.status-partial,.status-pending_signature,
.status-waiting_vendor,.status-waiting_tenant,
.status-maintenance,.status-submitted{ background:#fff3e0; color:#e67e22; }
.status-month_to_month,.status-waived{ background:color-mix(in srgb, var(--app-theme-color) 10%, transparent); color:var(--app-theme-color); }
.status-converted{ background:#ede7f6; color:#7b68ee; }
.priority-label{
	display:inline-block;
	padding:3px 10px;
	border-radius:20px;
	font-size:12px;
	font-weight:600;
	white-space:nowrap;
}
.priority-label.priority-emergency{ background:#fde8e8; }
.priority-label.priority-high{ background:#fff3e0; }
.priority-label.priority-medium{ background:color-mix(in srgb, var(--app-theme-color) 9%, #fff); }
.priority-label.priority-low{ background:#f0f0f0; }
.priority-emergency{ color:#d9534f; font-weight:700; }
.priority-high{ color:#e67e22; font-weight:600; }
.priority-medium{ color:var(--app-theme-color); }
.priority-low{ color:#6c757d; }
.dynamic-row{
	display:grid;
	gap:10px;
	align-items:end;
	padding:10px 0;
	border-bottom:1px solid #f0f0f0;
}
.add-row-btn{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:6px 12px;
	font-size:13px;
	font-weight:600;
	color:var(--app-theme-color);
	border:1px dashed var(--app-theme-color);
	border-radius:8px;
	background:none;
	cursor:pointer;
	transition:background 0.15s;
	margin-top:8px;
}
.add-row-btn:hover{
	background:color-mix(in srgb, var(--app-theme-color) 4%, transparent);
}
.media-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
	gap:12px;
}
.media-item{
	background:#fff;
	border:1px solid #f0f0f0;
	border-radius:8px;
	overflow:hidden;
	transition:box-shadow 0.15s;
}
.media-item:hover{
	box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.media-item > img{
	width:100%;
	height:160px;
	object-fit:cover;
	cursor:pointer;
	display:block;
}
.media-item-actions{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:8px 10px;
	gap:8px;
}
.media-item-name{
	font-size:12px;
	color:#666;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	flex:1;
	min-width:0;
}
.file-upload-zone{
	border:2px dashed #ddd;
	border-radius:12px;
	padding:24px;
	text-align:center;
	cursor:pointer;
	transition:border-color .15s;
}
.file-upload-zone:hover{ border-color:#bbb; }
.file-upload-zone.dragover{
	border-color:var(--app-theme-color) !important;
	background:color-mix(in srgb, var(--app-theme-color) 3%, transparent);
}
.file-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
	gap:12px;
	margin-top:12px;
}
.file-item{
	background:#fff;
	border:1px solid #f0f0f0;
	border-radius:8px;
	padding:12px;
	text-align:center;
	position:relative;
	transition:box-shadow 0.15s;
}
.file-item:hover{
	box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
.action-dropdown-wrap{ position:relative }
.action-dropdown-btn{
	background:none;
	color:#000;
	border:1px solid #ddd;
	border-radius:8px;
	padding:0;
	width:36px;
	height:36px;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
}
.action-dropdown{
	display:none;
	position:absolute;
	right:0;
	top:40px;
	background:#fff;
	border:1px solid #e2e8f0;
	border-radius:8px;
	box-shadow:0 4px 12px rgba(0,0,0,.12);
	z-index:100;
	min-width:180px;
	overflow:hidden;
	z-index:10000
}
.action-dropdown.show{ display:block }
.action-dropdown a{
	display:flex;
	align-items:center;
	gap:8px;
	padding:10px 16px;
	font-size:13px;
	color:#333;
	text-decoration:none;
	border-bottom:1px solid #f1f1f1;
}
.action-dropdown a:last-child{ border-bottom:none }
.action-dropdown a:hover{ background:#f5f5f5 }
.empty-state{
	text-align:center;
	padding:60px 20px;
	color:#888;
}
.empty-state .material-symbols-outlined{
	font-size:48px;
	color:#ddd;
}
.empty-state h3{
	font-size:16px;
	font-weight:700;
	color:#333;
	margin:0 0 4px;
}
.empty-state p{
	font-size:14px;
	margin:0 0 16px;
}
.empty-state a{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:8px 20px;
	background:var(--app-theme-color);
	color:#fff;
	border-radius:8px;
	font-size:14px;
	font-weight:600;
	text-decoration:none;
}
.pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:4px;
}
.pagination a,
.pagination span{
	height:34px;
	min-width:34px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0 10px;
	border-radius:8px;
	font-size:13px;
	font-weight:600;
	text-decoration:none;
	color:#555;
	transition:all 0.15s;
}
.pagination a:hover{
	background:#f0f0f0;
}
.pagination .current{
	background:var(--app-theme-color);
	color:#fff;
}
.add-row-btn,
.remove-btn{
	width:auto !important;
	display:inline-flex !important;
	background:none !important;
	color:#888;
	border:1px dashed #ddd !important;
	border-radius:8px;
	padding:6px 14px;
	font-size:13px;
	font-weight:500;
	cursor:pointer;
	align-items:center;
	gap:4px;
}
.add-row-btn:hover{ border-color:var(--app-theme-color) !important; color:var(--app-theme-color); }
.remove-btn{
	border:none !important;
	padding:4px;
	border-radius:50%;
	color:#999;
}
.remove-btn:hover{ color:#d9534f; background:#ffeaea !important; }
.line-items{ width:100%; border-collapse:collapse; table-layout:fixed; }
.line-items th{ font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:#888; font-weight:700; padding:6px 8px; text-align:left; border-bottom:1px solid #eee; }
.line-items td{ padding:4px 4px; vertical-align:middle; }
.line-items tr.dynamic-row{ display:table-row !important; }
.line-items tfoot td{ border-top:2px solid #eee; padding-top:8px; }
.toggle-switch{
	position:relative;
	width:44px;
	height:24px;
	flex-shrink:0;
}
.button-secondary{
	display:inline-flex;
	align-items:center;
	gap:4px;
	border-radius:6px;
 	background:#f5f5f5;
	color:#333;
	border:1px solid #ddd;
	cursor:pointer;
	text-decoration:none;
	white-space:nowrap;
	height:auto;
	width:auto;
}
.button-secondary:hover{ background:#eee; }
.btn-outline{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	padding:10px 20px; border-radius:8px; font-size:14px; font-weight:700;
	background:#fff; color:var(--app-theme-color);
	border:1px solid var(--app-theme-color); cursor:pointer;
	text-decoration:none; white-space:nowrap; line-height:1;
	transition:background .15s, color .15s;
}
.btn-outline:hover{ background:var(--app-theme-color); color:#fff; }
.modal-overlay{
	position:fixed; inset:0; background:rgba(15,23,42,.55);
	display:flex; align-items:center; justify-content:center;
	z-index:1000000000; padding:20px;
}
.modal-head{
	display:flex; align-items:center; justify-content:space-between;
	margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid #e5e7eb;
}
.modal-head h3{ margin:0; font-size:18px; }
.modal-actions{
	display:flex; justify-content:flex-end; gap:10px;
	margin-top:20px; padding-top:16px; border-top:1px solid #e5e7eb;
}
main.main-min form > .main-head + .inner,
main.main-min form > .main-head + input[type=hidden] + .inner,
main.main-min form > .main-head + input[type=hidden] + input[type=hidden] + .inner{
	margin-top:-16px;
}
main.main-min .inner > .detail-tabs:first-child,
main.main-min .inner > input[type=hidden] + .detail-tabs,
main.main-min .inner > input[type=hidden] + input[type=hidden] + .detail-tabs,
main.main-min .inner > input[type=hidden] + input[type=hidden] + input[type=hidden] + .detail-tabs{
	margin-top:-8px;
}
.flex-row{
	display:flex;
	align-items:center;
	gap:10px;
}
a.detail-card{
	text-decoration:none;
	color:inherit;
}
.material-symbols-outlined.sym-14{ font-size:14px !important }
.material-symbols-outlined.sym-16{ font-size:16px !important }
.material-symbols-outlined.sym-18{ font-size:18px !important }
.material-symbols-outlined.sym-20{ font-size:20px !important }
.material-symbols-outlined.sym-mid{ vertical-align:middle !important }
.mb-12{ margin-bottom:12px !important }
.mb-14{ margin-bottom:14px !important }
.mb-16{ margin-bottom:16px !important }
.mb-20{ margin-bottom:20px !important }
.mb-24{ margin-bottom:24px !important }
.empty-state.pad-24{ padding:24px !important }
.empty-state.pad-40{ padding:40px !important }
h1{
   font-size:26px
}
article ul li{
   font-weight:inherit
}
:root{
	--header-height:60px;
	--aside-width:230px;
	--a-color:#7a3377;
	--button-color:#7a3377;
	--button-hover-color:#652a62;
	--aside-color-a-hover:#7a3377;
	--app-theme-color:#7a3377;
	--app-theme-soft:#f6edf5;
	--app-theme-dark:#4f1f4d;
}
.text-sm{ font-size:14px; }
.text-xs{ font-size:13px; }
.muted{ color:#888; }
.status-attending,.status-published,.status-booked,.status-done,.status-completed{ background:#e8f5e9; color:#228b22; }
.status-declined,.status-archived,.status-cancelled,.status-skipped{ background:#f0f0f0; color:#6c757d; }
.status-considering,.status-unpaid,.status-queued{ background:#fff3e0; color:#b45f06; }
.status-contacted,.status-sending,.status-new{ background:var(--app-theme-soft); color:var(--app-theme-dark); }
.status-failed{ background:#fde8e8; color:#c9302c; }
.modal-card{
	background:#fff; border-radius:12px; padding:24px;
	width:100%; max-width:560px;
	max-height:min(90vh, calc(100dvh - 40px)); overflow-y:auto;
	box-shadow:0 20px 50px rgba(0,0,0,.3);
	box-sizing:border-box;
}
.modal-card.wide{ max-width:760px; }
.modal-head .material-symbols-outlined{ cursor:pointer; }
@media only screen and (max-width:600px){
	.modal-card .modal-actions{
		position:sticky; bottom:-24px; z-index:2;
		margin:20px -24px -24px;
		padding:12px 24px 16px; background:#fff;
		border-radius:0 0 12px 12px;
	}
}
.toggle-item{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #f0f0f0; }
.toggle-item:last-child{ border-bottom:none; }
.toggle-item strong{ font-size:14px; }
.toggle-item p{ font-size:12px; color:#888; margin:2px 0 0; }
.toggle-switch input{ opacity:0; width:0; height:0; }
.toggle-switch .slider{ position:absolute; cursor:pointer; inset:0; background:#ccc; border-radius:24px; transition:0.2s; }
.toggle-switch .slider::before{ content:""; position:absolute; height:18px; width:18px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:0.2s; }
.toggle-switch input:checked + .slider{ background:var(--app-theme-color); }
.toggle-switch input:checked + .slider::before{ transform:translateX(20px); }
.toggle-switch input:focus-visible + .slider{ outline:2px solid var(--app-theme-color); outline-offset:2px; }
.checkbox-row{ display:flex !important; flex-direction:row; align-items:center; gap:10px; font-size:14px; }
.checkbox-row input{ width:auto !important; height:auto !important; margin:0; }
.add-row-btn *, a[onclick] .material-symbols-outlined, .action-menu [onclick] *, .iq-copy *, .task-check *, .cover-btn *{ pointer-events:none; }
.dash-card-icon{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dash-card-icon .material-symbols-outlined{ font-size:24px !important; }
.chip-checks{ display:flex; flex-wrap:wrap; gap:8px; }
.chip-checks label{ display:inline-flex; align-items:center; padding:6px 14px; border:1px solid #ddd; border-radius:20px; font-size:13px; cursor:pointer; user-select:none; transition:background 0.12s, color 0.12s, border-color 0.12s; }
.chip-checks label input{ position:absolute; opacity:0; width:0; height:0; }
.chip-checks label.selected{ background:var(--app-theme-color); border-color:var(--app-theme-color); color:#fff; }
.chip-checks label:has(input:focus-visible){ outline:2px solid var(--app-theme-color); outline-offset:2px; }
.org-list .org-icon{ width:44px; height:44px; border-radius:10px; background:var(--app-theme-color); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; flex-shrink:0; }
.org-list .org-name{ font-weight:700; font-size:15px; }
.org-list .org-role{ font-size:12px; color:#888; }
.org-switch{ display:inline-flex; align-items:center; gap:2px; min-width:0; max-width:100%; font-weight:700; white-space:nowrap; color:var(--text-color); text-decoration:none; }
.org-switch-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.org-switch .material-symbols-outlined{ font-size:18px !important; color:#999; flex-shrink:0; }
.org-switch:hover .material-symbols-outlined{ color:var(--app-theme-color); }
.rsvp-bar{ display:flex; height:8px; border-radius:4px; overflow:hidden; background:#eee; min-width:120px; }
.rsvp-bar > span{ display:block; height:100%; }
.rsvp-bar .yes{ background:#2e9e4f; }
.rsvp-bar .no{ background:#c7c7c7; }
.rsvp-bar-legend{ display:flex; gap:12px; font-size:12px; color:#888; margin-top:6px; flex-wrap:wrap; }
.rsvp-bar-legend b{ color:#333; }
.tally-row{ display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid #f6f6f6; font-size:14px; }
.tally-row:last-child{ border-bottom:none; }
.tally-row > span:last-child{ font-weight:700; }
.tally-row small{ color:#888; font-weight:400; margin-left:6px; }
.copy-field{ display:flex; gap:8px; align-items:center; margin:6px 0 14px; }
.copy-field input{ flex:1; min-width:0; font-size:13px; height:36px; background:#fafafa; }
.copy-field .iq-copy{ flex-shrink:0; }
.snippet{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12px; width:100%; min-height:70px; background:#fafafa; }
.guest-tools{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; margin-bottom:12px; }
.bulk-bar{ display:none; align-items:center; gap:10px; flex-wrap:wrap; background:var(--app-theme-soft); border-radius:10px; padding:8px 12px; margin-bottom:12px; font-size:14px; }
.bulk-bar.on{ display:flex; }
.bulk-bar strong{ margin-right:auto; }
td.pick, th.pick{ width:28px; }
td.pick input, th.pick input{ width:16px; height:16px; margin:0; }
.guest-sub{ display:block; font-size:12px; color:#888; font-weight:400; }
.no-contact{ font-size:12px; color:#b45f06; }
.import-map{ display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:10px; margin:12px 0; }
.import-preview{ font-size:12px; max-height:180px; overflow:auto; border:1px solid #f0f0f0; border-radius:8px; }
.import-preview table{ margin:0; }
.sync-banner{ display:flex; gap:12px; align-items:flex-start; background:var(--app-theme-soft); border-radius:12px; padding:12px 16px; margin-bottom:12px; font-size:14px; }
.sync-banner > .material-symbols-outlined{ color:var(--app-theme-color); margin-top:2px; }
.sync-banner > div:nth-child(2){ flex:1; min-width:0; }
.sync-banner > div:nth-child(2) > div{ color:#555; margin-top:2px; }
.sync-actions{ display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0; }
.sync-actions > span{ display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
@media(max-width:700px){ .sync-banner{ flex-wrap:wrap; } .sync-actions{ width:100%; } }
.compose-grid{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:20px; align-items:start; }
@media(max-width:900px){ .compose-grid{ grid-template-columns:1fr; } }
.merge-tags{ display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 0; }
.merge-tags button{ width:auto; height:auto; padding:3px 9px; font-size:12px; border-radius:12px; background:var(--app-theme-soft); color:var(--app-theme-dark); }
.merge-tags button:hover{ background:color-mix(in srgb, var(--app-theme-color) 20%, #fff); color:var(--app-theme-dark); }
.email-preview{ background:#fafafa; border:1px solid #eee; border-radius:12px; padding:18px; }
.email-preview-subject{ font-weight:700; font-size:14px; padding-bottom:10px; margin-bottom:14px; border-bottom:1px solid #eee; }
.sms-bubble{ background:#e9e9eb; color:#111; border-radius:18px; padding:10px 14px; max-width:320px; font-size:14px; line-height:1.4; margin-bottom:8px; word-break:break-word; }
.send-progress{ height:10px; background:#eee; border-radius:5px; overflow:hidden; margin:10px 0 6px; }
.send-progress > span{ display:block; height:100%; width:0; background:var(--app-theme-color); transition:width 0.3s; }
.plus-badge{ display:inline-block; font-size:11px; font-weight:800; color:var(--app-theme-dark); background:var(--app-theme-soft); border-radius:10px; padding:1px 7px; vertical-align:middle; }
.member-row{ grid-template-columns:minmax(0, 1fr) auto 32px; align-items:center; }
.pay-row{ grid-template-columns:minmax(0, 1fr) 150px 118px 118px 150px minmax(0, 1.3fr) 32px; align-items:end; gap:8px; padding:6px 0; border-bottom:0; }
.pay-row label > span{ font-size:12px; font-weight:600; color:#666; padding-bottom:4px; }
.pay-row input, .pay-row select{ min-width:0; height:38px; font-size:14px; padding:0 10px; }
.pay-row .remove-btn{ align-self:end; justify-self:center; margin-bottom:5px; }
#paymentRows .pay-row:not(:first-child) label > span{ display:none; }
#paymentRows:empty{ display:none; }
@media(max-width:960px){
	.pay-row{ grid-template-columns:repeat(3, minmax(0, 1fr)); position:relative; padding:12px 40px 12px 12px; margin-bottom:8px; border:1px solid #eee; border-radius:10px; background:#faf8fa; }
	#paymentRows .pay-row:not(:first-child) label > span{ display:block; }
	.pay-row .remove-btn{ position:absolute; top:8px; right:6px; }
}
@media(max-width:700px){
	.pay-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); padding:12px; }
	.pay-row .remove-btn{ top:4px; right:4px; }
}
.pay-due{ display:grid; grid-template-columns:90px minmax(0, 1fr) auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #f6f6f6; font-size:14px; }
.pay-due:last-child{ border-bottom:none; }
.pay-due-date{ font-weight:800; color:var(--app-theme-color); }
.pay-due-date small{ display:block; font-size:11px; font-weight:700; color:#c9302c; text-transform:uppercase; letter-spacing:0.3px; }
.pay-due.late .pay-due-date{ color:#c9302c; }
@media(max-width:560px){ .pay-due{ grid-template-columns:70px minmax(0, 1fr); } .pay-due .button-secondary{ grid-column:2; justify-self:start; } }
.task-list{ display:flex; flex-direction:column; gap:8px; }
.task-item{ display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid #f0f0f0; border-radius:10px; padding:12px 14px; }
.task-item.done .task-title{ text-decoration:line-through; color:#999; }
.task-check{ width:24px !important; height:24px !important; min-width:24px; padding:0 !important; border-radius:50% !important; border:2px solid #ccc !important; background:#fff !important; color:#fff; display:inline-flex !important; align-items:center; justify-content:center; cursor:pointer; }
.task-item.done .task-check{ background:var(--app-theme-color) !important; border-color:var(--app-theme-color) !important; }
.task-check .material-symbols-outlined{ font-size:16px !important; }
.task-main{ flex:1; min-width:0; }
.task-title{ font-weight:600; font-size:15px; }
.task-meta{ display:flex; align-items:center; gap:4px 10px; flex-wrap:wrap; font-size:12px; color:#888; margin-top:2px; }
.task-meta .late{ color:#c9302c; font-weight:700; }
.task-section{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; color:#888; margin:18px 0 8px; }
.cg-grid{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:20px; align-items:start; }
@media(max-width:960px){ .cg-grid{ grid-template-columns:minmax(0, 1fr); } }
.cg-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.cg-head h3{ margin:0; }
.cg-head form{ display:flex; flex-direction:column; align-items:flex-end; margin:0; gap:0; }
.cg-head form button{ height:34px; padding:0 16px; font-size:13px; font-weight:600; }
.cg-head form .error-message{ margin:6px 0 0; text-align:right; }
.cg-item, .cg-strip{ display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border-radius:8px; border-left:3px solid var(--app-theme-color); background:var(--app-theme-soft); color:inherit; text-decoration:none; margin-bottom:8px; }
.cg-item:hover, .cg-strip:hover{ filter:brightness(0.98); }
.cg-item > .material-symbols-outlined:first-child, .cg-strip > .material-symbols-outlined:first-child{ font-size:20px; color:var(--app-theme-color); margin-top:1px; }
.cg-text{ flex:1; min-width:0; }
.cg-text strong{ display:block; font-size:14px; }
.cg-text small{ display:block; font-size:12.5px; color:#6c757d; margin-top:2px; }
.cg-go{ font-size:18px; color:#aaa; align-self:center; }
.cg-urgent, .cg-strip.urgent{ border-left-color:#c9302c; background:rgba(201,48,44,.06); }
.cg-urgent > .material-symbols-outlined:first-child, .cg-strip.urgent > .material-symbols-outlined:first-child{ color:#c9302c; }
.cg-warn{ border-left-color:#e67e22; background:rgba(230,126,34,.07); }
.cg-warn > .material-symbols-outlined:first-child{ color:#e67e22; }
.cg-info{ border-left-color:#c9c9c9; background:#f7f7f7; }
.cg-info > .material-symbols-outlined:first-child{ color:#888; }
.cg-strip{ margin-bottom:20px; }
.cg-summary{ font-size:15px; line-height:1.55; margin:0 0 12px; }
.cg-sub{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; color:#888; margin:16px 0 8px; }
.cg-priorities{ margin:0; padding-left:20px; }
.cg-priorities li{ margin-bottom:10px; font-size:14px; }
.cg-priorities small{ display:block; color:#6c757d; font-size:12.5px; margin-top:2px; }
.cg-when{ display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; color:var(--app-theme-color); background:var(--app-theme-soft); border-radius:4px; padding:1px 6px; margin-right:6px; }
.cg-confirm{ font-size:14px; margin-bottom:8px; }
.cg-confirm ul, .cg-watch{ margin:4px 0 0; padding-left:18px; font-size:13.5px; }
.cg-confirm li, .cg-watch li{ margin-bottom:3px; }
.cg-ask textarea{ width:100%; }
.cg-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 4px; }
.cg-chip{ width:auto !important; height:auto !important; padding:4px 10px !important; font-size:12.5px !important; font-weight:600; border-radius:999px !important; border:1px solid #e3d5e2 !important; background:#fff !important; color:var(--app-theme-color) !important; cursor:pointer; }
.cg-chip:hover{ background:var(--app-theme-soft) !important; }
.cg-clear{ color:#c9302c; cursor:pointer; }
.cg-qa{ border-top:1px solid #f0f0f0; padding-top:12px; margin-top:12px; }
.cg-q small{ color:#888; font-size:12px; }
.cg-q p{ margin:2px 0 8px; font-weight:600; font-size:14px; }
.cg-a{ display:flex; gap:8px; align-items:flex-start; background:#fafafa; border-radius:8px; padding:10px 12px; }
.cg-a .material-symbols-outlined{ font-size:18px; color:var(--app-theme-color); margin-top:1px; }
.cg-a p{ margin:0; font-size:14px; line-height:1.55; }
.cg-acts{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-top:4px; font-size:12.5px; }
.cg-act, .cg-acts a{ color:var(--app-theme-color); font-weight:700; cursor:pointer; text-decoration:none; }
.cg-act:hover, .cg-acts a:hover{ text-decoration:underline; }
.cg-done{ color:#2e9e4f; font-weight:700; }
.cg-inline{ display:inline-flex; flex-direction:column; margin:0; gap:0; }
.cg-inline .button-secondary{ height:30px; padding:0 12px; font-size:12.5px; }
.cg-inline .error-message{ margin:4px 0 0; }
.cg-emails{ margin-top:20px; }
.cg-draft{ border:1px solid #f0f0f0; border-radius:10px; margin-top:10px; background:#fff; }
.cg-draft > summary{ display:flex; align-items:center; gap:12px; padding:12px 14px; cursor:pointer; list-style:none; }
.cg-draft > summary::-webkit-details-marker{ display:none; }
.cg-draft[open] > summary{ border-bottom:1px solid #f0f0f0; }
.cg-draft > form{ padding:12px 14px 14px; }
.cg-draft textarea{ width:100%; font-family:inherit; line-height:1.5; height:auto; min-height:300px; }
@media(max-width:600px){ .cg-draft textarea{ min-height:240px; } }
.cg-draft-actions{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-top:6px; }
.cg-draft-actions > div{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.cg-draft-actions button{ height:36px; padding:0 16px; font-size:14px; font-weight:600; }
.cg-noemail{ margin:0; font-size:14px; color:#6c757d; }
.cg-noemail strong{ color:#333; margin-right:8px; }
.cover-box{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.cover-thumb{ width:220px; aspect-ratio:16/9; border-radius:10px; background:#f3eef3 center/cover no-repeat; border:1px solid #eee; display:flex; align-items:center; justify-content:center; color:#bbb; }
.schedule-row{ background:#fff; border:1px solid #f0f0f0; border-radius:12px; padding:14px 14px 6px; margin-bottom:12px; }
.schedule-row-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.schedule-row-head strong{ font-size:13px; color:#888; text-transform:uppercase; letter-spacing:0.4px; }
body.iq-public{ background:#faf7f9; }
.iq-public main{ display:block; }
.iq-public .iq-serif{ font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif; }
.iq-hero{
	position:relative; min-height:360px; display:flex; align-items:flex-end;
	background:linear-gradient(135deg, var(--app-theme-dark), var(--app-theme-color));
	background-size:cover; background-position:center; color:#fff;
}
.iq-hero.has-cover::before{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,.15) 60%, rgba(0,0,0,0) 100%); }
.iq-hero.compact{ min-height:200px; }
.iq-hero.iq-std{ min-height:72vh; align-items:center; }
.iq-hero.iq-std .iq-hero-inner small{ font-size:15px; letter-spacing:4px; }
.iq-hero-inner p.iq-std-date{ font-family:"Cormorant Garamond", Georgia, serif; font-size:30px; font-weight:700; margin:14px 0 4px; }
.iq-hero-inner{ position:relative; width:100%; max-width:760px; margin:0 auto; padding:40px 20px 34px; box-sizing:border-box; text-align:center; }
.iq-hero-inner small{ display:block; font-size:13px; letter-spacing:2px; text-transform:uppercase; opacity:.9; margin-bottom:6px; }
.iq-hero-inner h1{ font-family:"Cormorant Garamond", Georgia, serif; font-size:52px; line-height:1.05; font-weight:700; color:#fff; margin:0 0 10px; }
.iq-hero.compact .iq-hero-inner h1{ font-size:38px; }
.iq-hero-inner p{ color:#fff; font-size:17px; opacity:.95; }
.iq-cta{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	margin-top:18px; padding:14px 34px; border-radius:30px;
	background:#fff; color:var(--app-theme-dark); font-size:16px; font-weight:800;
	text-decoration:none; letter-spacing:0.5px; box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.iq-cta:hover{ color:var(--app-theme-color); }
.iq-wrap{ max-width:760px; margin:0 auto; padding:24px 16px 40px; box-sizing:border-box; display:flex; flex-direction:column; gap:16px; }
.iq-card{ background:#fff; border-radius:16px; padding:24px; box-shadow:0 1px 3px rgba(0,0,0,.05); border:1px solid #f1e9f0; }
.iq-card h2{ font-family:"Cormorant Garamond", Georgia, serif; font-size:28px; font-weight:700; color:var(--app-theme-dark); margin:0 0 12px; line-height:1.2; }
.iq-card p, .iq-card li{ font-size:16px; color:#333; }
.iq-facts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:18px; }
.iq-fact{ display:flex; gap:12px; align-items:flex-start; }
.iq-fact > .material-symbols-outlined{ color:var(--app-theme-color); font-size:24px !important; }
.iq-fact strong{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:0.8px; color:#888; margin-bottom:2px; }
.iq-fact div{ font-size:16px; line-height:1.45; }
.iq-fact a{ font-size:14px; }
.iq-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.iq-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto;
	padding:10px 18px; border-radius:22px; font-size:14px; font-weight:700; height:auto;
	background:var(--app-theme-color); color:#fff; text-decoration:none; border:1px solid var(--app-theme-color); cursor:pointer;
}
.iq-btn:hover{ background:var(--app-theme-dark); color:#fff; }
.iq-btn.ghost{ background:#fff; color:var(--app-theme-color); }
.iq-btn.ghost:hover{ background:var(--app-theme-soft); color:var(--app-theme-dark); }
.iq-btn *{ pointer-events:none; }
.iq-desc{ white-space:pre-line; line-height:1.65; }
.iq-timeline{ display:flex; flex-direction:column; }
.iq-timeline > div{ display:grid; grid-template-columns:110px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid #f4eef3; }
.iq-timeline > div:last-child{ border-bottom:none; }
.iq-timeline time{ font-weight:800; color:var(--app-theme-color); font-size:15px; }
.iq-timeline time small{ display:block; font-weight:400; color:#888; font-size:12px; }
.iq-timeline strong{ display:block; font-size:17px; }
.iq-timeline span{ display:block; font-size:14px; color:#666; }
.iq-links{ display:flex; flex-wrap:wrap; gap:10px; }
.iq-faq details{ border-bottom:1px solid #f4eef3; padding:12px 0; }
.iq-faq details:last-child{ border-bottom:none; }
.iq-faq summary{ font-weight:700; cursor:pointer; font-size:16px; }
.iq-faq details p{ margin-top:8px; white-space:pre-line; }
.iq-locked{ display:flex; gap:12px; align-items:center; background:var(--app-theme-soft); border-radius:12px; padding:14px 16px; font-size:15px; }
.iq-locked .material-symbols-outlined{ color:var(--app-theme-color); }
.iq-banner{ background:#fff3e0; color:#8a4b00; text-align:center; font-size:14px; padding:10px 16px; font-weight:600; }
.iq-foot{ text-align:center; font-size:12px; color:#aaa; padding:10px 16px 40px; }
.iq-foot a{ color:#aaa; }
.iq-form{ display:flex; flex-direction:column; gap:18px; }
.iq-form label > span{ font-size:14px; font-weight:700; color:#444; }
.iq-form input[type=text], .iq-form input[type=email], .iq-form input[type=tel], .iq-form select, .iq-form textarea{ font-size:16px; }
.iq-form .error-message{ color:#c9302c; font-size:14px; font-weight:600; }
.iq-form .error-message:empty{ display:none; }
.iq-choice{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.iq-choice label{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center;
	border:2px solid #e6dce5; border-radius:14px; padding:18px 10px; cursor:pointer; font-weight:700; font-size:16px; background:#fff;
}
.iq-choice label .material-symbols-outlined{ font-size:28px !important; color:#bbb; }
.iq-choice input{ position:absolute; opacity:0; width:0; height:0; }
.iq-choice label:has(input:checked){ border-color:var(--app-theme-color); background:var(--app-theme-soft); color:var(--app-theme-dark); }
.iq-choice label:has(input:checked) .material-symbols-outlined{ color:var(--app-theme-color); }
.iq-choice label:has(input:focus-visible){ outline:2px solid var(--app-theme-color); outline-offset:2px; }
.iq-seg{ display:inline-flex; border:1px solid #e0d6df; border-radius:22px; overflow:hidden; }
.iq-seg label{ display:flex; align-items:center; padding:8px 18px; cursor:pointer; font-size:14px; font-weight:700; color:#666; }
.iq-seg input{ position:absolute; opacity:0; width:0; height:0; }
.iq-seg label:has(input:checked){ background:var(--app-theme-color); color:#fff; }
.iq-seg label:has(input:focus-visible){ outline:2px solid var(--app-theme-color); outline-offset:-2px; }
.iq-q{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 0; border-bottom:1px solid #f4eef3; }
.iq-q:last-child{ border-bottom:none; }
.iq-q > div:first-child{ font-size:15px; }
.iq-q > div:first-child small{ display:block; color:#888; font-size:13px; }
.iq-form-label{ font-size:14px; font-weight:700; color:#444; margin:0 0 8px; }
.iq-people{ display:flex; flex-direction:column; gap:10px; }
.iq-person{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 200px) auto; gap:10px; align-items:end; padding:12px 14px; border:1px solid #efe6ee; border-radius:12px; background:#fff; }
.iq-person:not(:has(select)){ grid-template-columns:minmax(0, 1fr) auto; }
.iq-person.off{ opacity:.55; }
.iq-person-check{ display:flex !important; flex-direction:row; align-items:center; gap:10px; font-weight:700; font-size:16px; align-self:center; cursor:pointer; }
.iq-person-check input{ width:20px !important; height:20px !important; margin:0; accent-color:var(--app-theme-color); }
.iq-person input[readonly]{ background:#faf7f9; }
.iq-person .iq-linkbtn{ align-self:center; }
.iq-person.free{ grid-template-columns:minmax(0, 1fr) minmax(0, 200px) auto auto; }
.iq-person.free:not(:has(select)){ grid-template-columns:minmax(0, 1fr) auto auto; }
.iq-kid-check{ font-size:14px !important; font-weight:600 !important; }
.iq-kid{ font-style:normal; font-size:12px; font-weight:700; color:var(--app-theme-color); background:var(--app-theme-soft); border-radius:10px; padding:2px 8px; margin-left:6px; }
@media(max-width:560px){ .iq-person, .iq-person:not(:has(select)), .iq-person.free, .iq-person.free:not(:has(select)){ grid-template-columns:1fr; } }
.iq-submit{ width:100%; height:52px; border-radius:26px; font-size:17px; font-weight:800; }
.iq-code input{ font-size:28px !important; letter-spacing:10px; text-align:center; height:56px; font-weight:700; }
.iq-linkbtn{ background:none !important; border:none; color:var(--app-theme-color) !important; width:auto !important; height:auto; padding:0; font-size:14px; font-weight:700; text-decoration:underline; cursor:pointer; }
.iq-summary{ display:flex; flex-direction:column; gap:6px; font-size:15px; }
.iq-summary div{ display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid #f4eef3; padding:6px 0; }
.iq-summary div > span:first-child{ color:#888; }
.iq-summary div > span:last-child{ font-weight:700; text-align:right; }
.iq-done-icon{ font-size:48px !important; color:var(--app-theme-color); display:block; text-align:center; margin-bottom:6px; }
.iq-hp{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:600px){
	.iq-hero{ min-height:300px; }
	.iq-hero-inner h1{ font-size:38px; }
	.iq-hero.compact .iq-hero-inner h1{ font-size:30px; }
	.iq-card{ padding:20px 16px; }
	.iq-timeline > div{ grid-template-columns:1fr; gap:4px; }
}
@media print{
	.no-print{ display:none !important; }
}
.iq-topnav{ width:auto; flex:1 0 auto; }
.iq-org-slot{ flex:0 1 auto; min-width:0; }
#mbody a:not([class]){ text-decoration-thickness:1px; text-underline-offset:2px; text-decoration-color:color-mix(in srgb, currentColor 40%, transparent); }
#mbody a:not([class]):hover{ text-decoration-color:currentColor; }
.dash-cards > *{ box-sizing:border-box; }
@media(max-width:1100px){
	.dash-cards{ flex-wrap:wrap; overflow:visible; }
	.dash-cards > *{ flex:1 1 calc(50% - var(--grid-gap)); min-width:0; }
}
@media(max-width:768px){
	.table-overflow :where(td, th):where(:first-child:not(.pick), .pick + *){ min-width:140px; }
}
a.button-secondary, span.button-secondary{
	justify-content:center; gap:6px; height:36px; padding:0 14px; box-sizing:border-box;
	font-size:13px; font-weight:600; line-height:1; border-radius:8px;
}
button.button-secondary{ font-size:14px; font-weight:600; }
.button-secondary:hover{ color:#333; }
.chip-btn:not(.active):hover{ color:#555; }
.btn-danger:hover{ background:#e53e3e; border-color:#e53e3e; }
#mbody button.action-dropdown-btn{ width:36px; height:36px; padding:0; border-radius:8px; background:#fff; color:#333; }
#mbody button.action-dropdown-btn:hover{ background:#f5f5f5; color:#111; }
.detail-header-actions{ align-items:center; }
.detail-header-actions .action-dropdown a{
	height:auto; flex:none; justify-content:flex-start; padding:10px 16px; border:0; border-bottom:1px solid #f1f1f1;
	border-radius:0; background:#fff; font-size:13px; font-weight:500; white-space:nowrap;
}
.detail-header-actions .action-dropdown a:last-child{ border-bottom:0; }
.detail-header-actions .action-dropdown a:hover{ background:#f5f5f5; }
@media(max-width:700px){ .detail-header-actions{ flex-wrap:wrap; } }
.detail-field{ gap:12px; }
.detail-field > span:last-child{ text-align:right; }
.form-card > .form-row:last-child{ margin-bottom:0; }
#contactModal form, #renameModal form, #toEventModal form{ gap:4px; }
#contactModal .add-row-btn{ justify-self:start; }
.import-map:empty, .import-preview:empty{ display:none; }
.org-select, .org-setup{ margin:0 auto; padding:60px 16px 40px; box-sizing:border-box; }
.org-create{ text-align:center; margin-top:18px; font-size:14px; font-weight:600; }
.iq-dash-events .de-date, .iq-dash-events .de-rsvp{ white-space:nowrap; }
.iq-dash-events .de-resp{ min-width:200px; }
.iq-dash-events .de-label{ display:none; }
@media(max-width:600px){
	.iq-dash-events, .iq-dash-events tbody{ display:block; }
	.iq-dash-events thead{ display:none; }
	.iq-dash-events tr{ display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:4px 12px; align-items:center; padding:12px 0; border-bottom:1px solid #eee; }
	.iq-dash-events td{ display:block; padding:0; border:0 !important; min-width:0; }
	.iq-dash-events .de-name{ grid-area:1 / 1; }
	.iq-dash-events .de-status{ grid-area:1 / 2; justify-self:end; }
	.iq-dash-events .de-date{ grid-area:2 / 1; font-size:14px; color:#666; }
	.iq-dash-events .de-rsvp{ grid-area:2 / 2; font-size:14px; color:#666; }
	.iq-dash-events .de-label{ display:inline; font-size:inherit; }
	.iq-dash-events .de-none{ display:none; }
	.iq-dash-events .de-resp{ grid-column:1 / -1; min-width:0; margin-top:4px; }
}
.iq-audit .a-when{ white-space:nowrap; }
.iq-audit .a-changes{ max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:600px){
	.iq-audit, .iq-audit tbody{ display:block; }
	.iq-audit thead{ display:none; }
	.iq-audit tr{ display:flex; flex-wrap:wrap; align-items:center; gap:3px 8px; padding:10px 0; border-bottom:1px solid #eee; }
	.iq-audit tr::after{ content:""; order:2; flex-basis:100%; height:0; }
	.iq-audit td{ display:block; padding:0; border:0 !important; font-size:14px; min-width:0 !important; }
	.iq-audit .a-what{ order:1; flex:1 1 0; }
	.iq-audit .a-action{ order:2; }
	.iq-audit .a-area{ order:3; }
	.iq-audit .a-who{ order:4; }
	.iq-audit .a-when{ order:5; }
	.iq-audit .a-area, .iq-audit .a-who, .iq-audit .a-when{ font-size:12px; color:#888; }
	.iq-audit .a-area::after, .iq-audit .a-who::after{ content:"\00b7"; margin-left:8px; }
	.iq-audit .a-changes{ order:6; flex-basis:100%; max-width:none; white-space:normal; }
	.iq-audit .a-none{ display:none; }
}
.iq-account > form, .iq-account > .detail-card{ max-width:640px; margin:0 0 20px; box-sizing:border-box; }
.iq-account > .detail-card:first-of-type{ margin-top:12px; }
.iq-digest{ gap:0; }
.iq-digest > p.text-sm{ margin:-4px 0 4px; }
.iq-digest > .button-secondary{ justify-self:start; margin-top:12px; height:36px; padding:0 18px; }
.iq-signout{ max-width:640px; margin-top:28px; padding-top:20px; border-top:1px solid #eee; }
#mbody.iq-tab-overview .copy-field .button-secondary,
#mbody.iq-tab-overview .iq-share-actions .button-secondary,
#mbody.iq-tab-guests .guest-tools .button-secondary,
#mbody.iq-tab-guests .guest-tools .btn-primary,
#mbody.iq-tab-guests .bulk-bar .button-secondary,
#mbody.iq-tab-guests .bulk-bar .btn-danger,
#mbody.iq-tab-guests .sync-actions > span,
#mbody.iq-tab-messages .iq-compose-actions .button-secondary,
#mbody.iq-tab-messages .iq-compose-actions .btn-primary{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	width:auto; height:36px; padding:0 14px; box-sizing:border-box;
	font-size:13px; font-weight:600; line-height:1; border-radius:8px;
}
.iq-tab-overview .button-secondary:hover, .iq-tab-guests .button-secondary:hover, .iq-tab-messages .button-secondary:hover{ color:#333; }
.iq-tab-messages .iq-compose-actions [data-send]:disabled{ opacity:.45; cursor:not-allowed; }
.iq-event-head .action-dropdown a{
	height:auto; flex:none; justify-content:flex-start; padding:10px 16px; border:0; border-bottom:1px solid #f1f1f1;
	border-radius:0; background:#fff; font-size:13px; font-weight:500;
}
.iq-event-head .action-dropdown a:last-child{ border-bottom:0; }
.iq-event-head .action-dropdown a:hover{ background:#f5f5f5; }
.iq-events-table td .text-xs{ display:inline; }
.iq-events-table .iq-ev-responses{ min-width:200px; }
@media(max-width:700px){
	.iq-events-table td:first-child{ min-width:170px; }
	.iq-events-table .iq-ev-responses{ min-width:150px; }
}
.iq-edit textarea[name=description]{ height:150px; }
.iq-edit .toggle-item + .form-row{ margin-top:12px; }
.iq-edit .form-card > .toggle-item:first-child{ padding-top:0; }
.iq-edit .form-card > .toggle-item:has(+ [data-when][style*="none"]:last-child){ border-bottom:none; }
.iq-edit .form-row-3:not(.form-row){ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-bottom:12px; }
.iq-edit .form-row-3:not(.form-row) input,
.iq-edit .dynamic-row input[type=text], .iq-edit .dynamic-row select, .iq-edit .dynamic-row textarea{
	height:38px; padding:0 12px; border:1px solid #ddd; border-radius:8px; font-size:14px;
}
.iq-edit .dynamic-row textarea{ height:72px; padding:10px 12px; }
.iq-edit .form-row-3:not(.form-row) input:focus, .iq-edit .dynamic-row input:focus, .iq-edit .dynamic-row select:focus, .iq-edit .dynamic-row textarea:focus{ border-color:var(--app-theme-color); }
@media(max-width:900px){
	.iq-edit .form-row-3{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.iq-edit .form-row-3 > label:first-child{ grid-column:1 / -1; }
}
.iq-edit #questionRows .dynamic-row > .flex-row:first-of-type{ display:grid; grid-template-columns:minmax(0, 1fr) 170px 32px; }
.iq-edit #linkRows .dynamic-row{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.6fr) 32px; align-items:center; }
@media(max-width:600px){
	.iq-edit #questionRows .dynamic-row > .flex-row:first-of-type{ grid-template-columns:minmax(0, 1fr) 32px; }
	.iq-edit #questionRows .dynamic-row > .flex-row:first-of-type > select{ grid-row:2; grid-column:1; }
	.iq-edit #linkRows .dynamic-row{ grid-template-columns:minmax(0, 1fr) 32px; }
	.iq-edit #linkRows .dynamic-row > input:nth-of-type(2){ grid-row:2; grid-column:1; }
}
.iq-tab-overview .late{ color:#c9302c; font-weight:700; }
@media(max-width:600px){
	.iq-tab-overview .dash-cards{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); overflow:visible; }
	.iq-tab-overview .dash-cards > *{ min-width:0; }
}
@media(max-width:700px){
	.iq-guests-table td.g-name{ min-width:160px; }
	.iq-guests-table td.g-contact, .iq-guests-table td.g-party, .iq-guests-table td.g-resp, .iq-guests-table td.g-inv{ white-space:nowrap; }
}
.iq-tab-guests .bulk-bar form{ margin:0; display:flex; align-items:center; gap:6px; }
.iq-tab-guests .bulk-bar input[name=group], .iq-tab-guests .bulk-bar select{
	width:140px; height:36px; padding:0 10px; font-size:13px; border:1px solid #ddd; border-radius:8px;
}
.iq-tab-guests .bulk-bar select{ width:auto; padding-right:28px; }
@media(max-width:600px){ .iq-tab-guests .bulk-bar strong{ flex-basis:100%; } }
#guestModal form, #respondModal form, #listModal form{ gap:4px; }
#guestModal .add-row-btn{ justify-self:start; }
#memberRows input[type=text]{ height:38px; padding:0 12px; border:1px solid #ddd; border-radius:8px; font-size:14px; }
#memberRows input[type=text]:focus{ border-color:var(--app-theme-color); }
#respondModal .iq-respond-choices{ display:flex; flex-wrap:wrap; gap:10px 24px; }
#importModal .import-map label > span{ display:block; font-size:12px; font-weight:600; color:#555; margin-bottom:4px; line-height:1.3; }
#importModal .import-map select{ height:36px; font-size:14px; }
#importModal .import-preview th, #importModal .import-preview td{ font-size:13px; padding:6px 10px; }
.iq-tab-messages #composeForm{ gap:0; }
.iq-tab-messages #composeForm textarea[name=body]{ height:220px; }
#mbody.iq-tab-vendors .guest-tools .button-secondary,
#mbody.iq-tab-vendors .guest-tools .btn-primary,
#mbody.iq-tab-tasks .guest-tools .button-secondary,
#mbody.iq-tab-tasks .copy-field .button-secondary,
#mbody.iq-tab-tasks .iq-cal-links a,
#mbody.iq-tab-budget .iq-budget-bar .button-secondary,
#mbody.iq-tab-budget .iq-budget-bar .btn-primary,
#mbody.iq-tab-tasks .iq-task-bar .button-secondary,
#mbody.iq-tab-tasks .iq-task-bar .action-dropdown-btn,
#mbody.iq-tab-tasks .iq-task-bar .btn-primary{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	width:auto; height:36px; padding:0 14px; box-sizing:border-box;
	font-size:13px; font-weight:600; line-height:1; border-radius:8px;
}
#mbody .iq-subtable .button-secondary,
#mbody.iq-tab-budget .pay-due .button-secondary{
	display:inline-flex; align-items:center; height:30px; padding:0 12px; box-sizing:border-box;
	font-size:12.5px; font-weight:600; border-radius:8px; white-space:nowrap;
}
.iq-tab-vendors .button-secondary:hover, .iq-tab-budget .button-secondary:hover, .iq-tab-tasks .button-secondary:hover{ color:#333; }
.iq-subwrap{ overflow-x:auto; margin:0 0 12px; background:#fff; border:1px solid #eee; border-radius:10px; }
.iq-subwrap:last-child{ margin-bottom:0; }
.iq-subtable{ width:100%; margin:0; }
.prop-detail .iq-subtable th, .prop-detail .iq-subtable td{ padding:8px 12px !important; font-size:13.5px; white-space:nowrap; text-align:left; }
.prop-detail .iq-subtable th{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; color:#888; background:#fff; }
.prop-detail .iq-subtable tbody tr:last-child td{ border-bottom:0; }
.iq-tab-vendors .iq-subtable td:first-child{ white-space:normal; min-width:150px; }
.iq-xtable .prop-detail-inner .add-row-btn{ margin-top:12px; }
.iq-xtable{ container-type:inline-size; }
.iq-xtable tr.prop-detail > td{ overflow:visible !important; }
.iq-xtable .prop-detail-inner{ position:sticky; left:0; width:100cqw; box-sizing:border-box; }
@media(max-width:700px){
	.iq-xtable > table > tbody > tr:not(.prop-detail) > td:first-child{ min-width:150px; }
	.iq-xtable > table > tbody > tr:not(.prop-detail) > td:not(:first-child){ white-space:nowrap; }
	.iq-xtable .prop-detail-inner{ padding:14px 14px 16px; }
}
#expenseModal .modal-card{ max-width:920px; }
#expenseModal .add-row-btn{ justify-self:start; margin-top:0; }
#addVendorModal [data-when]{ display:grid; gap:var(--grid-gap); }
.iq-budget-bar{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.iq-budget-total{ margin:0; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.iq-budget-total label{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; white-space:nowrap; }
.iq-budget-total input{ width:130px; height:36px; font-size:15px; }
.iq-budget-total .error-message{ flex-basis:100%; margin:0; font-size:13px; }
@media(max-width:600px){
	.iq-tab-budget .dash-cards{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); overflow:visible; }
	.iq-tab-budget .dash-cards > *{ min-width:0; }
}
.iq-task-bar{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:16px; }
.iq-task-add{ margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex:1 1 420px; min-width:0; }
.iq-task-add input[name=title]{ flex:1 1 200px; min-width:0; height:36px; }
.iq-task-add input[type=date]{ flex:0 0 auto; width:auto; height:36px; }
.iq-task-add .error-message{ flex-basis:100%; margin:0; font-size:13px; }
.iq-task-tools{ display:flex; align-items:center; gap:8px; }
.iq-task-tools .action-dropdown-btn .material-symbols-outlined{ font-size:16px !important; }
@media(max-width:600px){
	.iq-task-add{ flex-basis:100%; }
	.iq-task-add input[name=title]{ flex-basis:100%; }
	.iq-task-add input[type=date]{ flex:1 1 auto; }
	.iq-task-tools{ width:100%; }
	.iq-task-tools > *{ flex:1 1 0; min-width:0; }
	#mbody.iq-tab-tasks .iq-task-tools .action-dropdown-btn, #mbody.iq-tab-tasks .iq-task-tools .button-secondary{ width:100%; }
}
.iq-cal-links{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.iq-cal-reset{ margin-right:auto; align-self:center; color:#c9302c; font-size:13px; font-weight:600; cursor:pointer; }
.iq-cal-reset:hover{ text-decoration:underline; }
.cg-ask, .cg-emails > form, .cg-draft > form{ gap:12px; }
.cg-ask .modal-actions, .cg-emails > form .modal-actions{ border-top:0; margin-top:0; padding-top:0; }
.iq-vendor-head .action-dropdown a{
	height:auto; flex:none; justify-content:flex-start; padding:10px 16px; border:0; border-bottom:1px solid #f1f1f1;
	border-radius:0; background:#fff; font-size:13px; font-weight:500;
}
.iq-vendor-head .action-dropdown a:last-child{ border-bottom:0; }
.iq-vendor-head .action-dropdown a:hover{ background:#f5f5f5; }
html:has(> body.iq-public){ background:#faf7f9; }
body.iq-public{ min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
.iq-public main#publicMain{ flex:1 0 auto; min-height:0; width:100%; }
.iq-public .iq-foot{ color:#6e6e6e; padding:16px 16px 28px; }
.iq-public .iq-foot a{ color:#6e6e6e; }
.iq-card p.text-sm{ font-size:14px; }
.iq-card p.text-xs{ font-size:13px; }
.iq-card .muted{ color:#6e6e6e; }
.iq-fact strong, .iq-timeline time small, .iq-q > div:first-child small, .iq-summary div > span:first-child{ color:#6e6e6e; }
.iq-fact-time{ display:block; }
.iq-facts{ grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); }
.iq-public .iq-done-icon{ display:block; }
.iq-hero.iq-std{ min-height:max(380px, calc(100vh - 290px)); }
.iq-public .iq-form :is(input[type=text], input[type=email], input[type=tel], select){ height:44px; border-radius:10px; }
.iq-public .iq-form textarea{ border-radius:10px; }
.iq-public .iq-form.iq-code input[type=text]{ height:56px; }
.iq-public .iq-form :is(input[type=text], input[type=email], input[type=tel], select, textarea):focus{ border-color:var(--app-theme-color); box-shadow:0 0 0 3px rgba(122,51,119,.16); outline:none; }
.iq-public :is(.iq-btn, .iq-submit, .iq-linkbtn, .iq-faq summary, .iq-locked a, .iq-fact a):focus-visible{ outline:2px solid var(--app-theme-color); outline-offset:2px; }
.iq-public .iq-cta:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.iq-seg label{ min-height:40px; padding:0 20px; box-sizing:border-box; }
.iq-public .iq-linkbtn{ min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 4px; }
.iq-person-check{ min-height:40px; }
.iq-form .iq-person-check:not(.iq-kid-check) > span{ font-size:16px; color:#222; }
.iq-choice label{ text-wrap:balance; }
@media(max-width:600px){
	.iq-actions .iq-btn, .iq-links .iq-btn{ flex:1 1 200px; }
	.iq-hero.iq-std{ min-height:max(360px, calc(100svh - 360px)); }
}
@media(max-width:560px){
	.iq-form .iq-person.free{ grid-template-columns:minmax(0, 1fr) auto; }
	.iq-person.free > label:not(.iq-kid-check){ grid-column:1 / -1; }
	.iq-person.free > .iq-linkbtn{ justify-self:end; }
}
