:root{
	--color-accent: #ffd400;
	--color-bg: #f5f5f5;
	--color-panel: #fff;
	--color-border: #dedede;
	--color-text: #111827;
	--color-muted: #7b8190;
	--color-danger: #e33434;
	--color-success: #15a05b;
	--color-warning: #f59e0b;
	--color-blue: #2563eb;
	--color-control-border: #d7dbe3;
}
*{
	box-sizing: border-box;
}
[hidden]{
	display: none !important;
}
*:not(html):not(body):not([class*=ui-]):not([class*=slick-]):not([class^=fancybox-]):not(ymaps){
	transition: all .5s ease;
}
body{
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
}
a{
	color: inherit;
	text-decoration: none;
}
button,
.button,
input[type="submit"]{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border: 1px solid #cfd3dc;
	border-radius: 8px;
	background: var(--color-accent);
	color: #111;
	padding: 0 16px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
ip-form-actions{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
input[type="checkbox"]{
	accent-color: var(--color-accent);
}
input,
select,
textarea{
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--color-control-border);
	border-radius: 7px;
	background: #fff;
	color: #111827;
	padding: 9px 12px;
	font: inherit;
}
textarea{
	min-height: 88px;
	resize: vertical;
}
label > span{
	display: block;
	margin: 0 0 6px;
	color: #202531;
	font-size: 13px;
	font-weight: 700;
}
table{
	width: 100%;
	border-collapse: collapse;
	background: var(--color-panel);
}
th,
td{
	border-bottom: 1px solid #edf0f4;
	padding: 14px 12px;
	text-align: left;
	vertical-align: top;
}
th{
	color: #8991a2;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}
ip-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}
ip-icon svg{
	width: 20px;
	height: 20px;
}

ip-brand-logo{
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
ip-brand-logo svg{
	display: block;
	width: 20px;
	height: 20px;
}
.login-page{
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.login-box{
	width: 100%;
	max-width: 420px;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 28px;
}
.login-box label{
	display: block;
	margin-bottom: 14px;
}
.login-box button:not(.generate-password):not(.password-toggle){
	width: 100%;
}
.logo{
	font-weight: 900;
}
ip-app{
	display: grid;
	grid-template-columns: 262px 1fr;
	min-height: 100vh;
}
ip-sidebar{
	display: grid;
	grid-template-rows: auto auto 1fr auto auto;
	gap: 14px;
	background: #fff;
	border-right: 1px solid var(--color-border);
	height: 100vh;
	position: sticky;
	top: 0;
	overflow: auto;
	padding: 12px;
}
ip-brand{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0 14px;
	border-bottom: 1px solid #e5e7eb;
}
ip-brand b,
ip-holder-menu b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 6px;
	background: var(--color-accent);
	color: #111;
}
ip-brand span{
	display: grid;
	gap: 2px;
}
ip-brand strong{
	font-size: 15px;
	font-weight: 900;
}
ip-brand em{
	color: #9ca3af;
	font-size: 11px;
	font-style: normal;
	letter-spacing: 2px;
	text-transform: uppercase;
}
ip-brand button{
	margin-left: auto;
	min-height: 28px;
	border: 0;
	background: transparent;
	font-size: 20px;
}
ip-holder-menu,
ip-nav{
	display: grid;
	align-content: start;
	gap: 5px;
}
ip-holder-menu label,
ip-nav label{
	margin: 0 0 7px 6px;
	color: #9298a6;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.holder-current,
ip-holder-list a,
.holder-selected,
ip-nav a{
	display: flex;
	align-items: center;
	gap: 10px;
	border-radius: 6px;
	padding: 10px 12px;
	color: #5a6070;
	font-weight: 600;
}
.holder-current{
	background: #f1f1f1;
	color: #111;
}
ip-holder-list{
	display: grid;
	gap: 4px;
}
ip-holder-list a.is-active,
ip-nav a.is-active,
.register-link.is-active{
	background: var(--color-accent);
	color: #111;
}
.holder-selected{
	color: #111;
	cursor: default;
}
ip-holder-list button{
	justify-content: flex-start;
	border: 0;
	background: transparent;
	color: #9aa0aa;
	font-weight: 400;
}
ip-nav a i{
	margin-left: auto;
	min-width: 20px;
	border-radius: 4px;
	background: #c7352f;
	color: #fff;
	padding: 3px 5px;
	font-size: 12px;
	font-style: normal;
	text-align: center;
}
.register-link{
	background: #fff6c7;
	color: #7a5600;
}
.manager-card{
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid #dfe3ea;
	border-radius: 6px;
	padding: 10px;
}
.manager-card b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 2px solid var(--color-accent);
	border-radius: 5px;
	background: #111;
	color: var(--color-accent);
}
.manager-card span{
	display: grid;
}
.manager-card em{
	color: #9ca3af;
	font-size: 12px;
	font-style: normal;
}
ip-main{
	display: block;
	min-width: 0;
}
ip-topbar{
	display: grid;
	grid-template-columns: 1fr auto 280px auto;
	align-items: center;
	gap: 16px;
	min-height: 58px;
	border-bottom: 1px solid var(--color-border);
	background: #fff;
	padding: 0 24px;
	position: sticky;
	top: 0;
	z-index: 50;
}
ip-page-title{
	display: grid;
	gap: 3px;
}
ip-page-title strong{
	font-size: 18px;
	font-weight: 900;
}
ip-page-title span{
	color: #7b8190;
	font-size: 13px;
}
ip-view-switch{
	display: inline-flex;
	border: 1px solid var(--color-control-border);
	border-radius: 8px;
	overflow: hidden;
}
ip-view-switch a{
	padding: 9px 16px;
	background: #f4f4f4;
	color: #7b8190;
	font-size: 13px;
	font-weight: 700;
}
ip-view-switch a:not(:last-child){
	border-right: 1px solid var(--color-control-border);
}
ip-view-switch a.is-active:not(:last-child){
	border-right-color: var(--color-control-border);
}
ip-view-switch a.is-active{
	background: var(--color-accent);
	color: #111;
}
.top-search input{
	min-height: 34px;
}
.has-live-search{
	position: relative;
}
ip-search-box{
	display: block;
	position: relative;
	width: 100%;
}
ip-filter-panel ip-search-box{
	flex: 1 1 240px;
	max-width: 720px;
}
ip-filter-panel.portfolio-filter ip-search-box{
	max-width: none;
}
ip-search-box input{
	width: 100%;
	padding-right: 34px;
}
.search-clear{
	position: absolute;
	right: 6px;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-height: 22px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #7b8190;
	font-size: 18px;
	line-height: 1;
	padding: 0;
	transform: translateY(-50%);
}
.search-clear:hover{
	background: #eef1f5;
	color: #111827;
}
.search-clear[hidden]{
	display: none;
}
ip-live-search{
	position: fixed;
	z-index: 900;
	display: grid;
	gap: 4px;
	max-height: 340px;
	overflow-y: auto;
	border: 1px solid #d8dde7;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(15,23,42,.16);
	padding: 8px;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
ip-live-search[hidden]{
	display: none;
}
ip-live-search::-webkit-scrollbar{
	display: none;
}
ip-live-search a{
	display: grid;
	gap: 2px;
	border-radius: 7px;
	color: #111827;
	padding: 8px 10px;
	text-decoration: none;
}
ip-live-search a:hover{
	background: #f2f4f8;
}
ip-live-search b{
	color: #6b7280;
	font-size: 12px;
}
ip-live-search strong{
	font-size: 13px;
}
ip-live-search em,
.live-search-empty{
	color: #6b7280;
	font-size: 12px;
	font-style: normal;
}
.live-search-empty{
	padding: 10px;
}
ip-header-actions{
	display: flex;
	align-items: center;
	gap: 4px;
	position: relative;
}
.bell-button,
.theme-button,
.user-button,
.page-guide-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-height: 34px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #111;
	padding: 0;
	position: relative;
}
.bell-button i{
	position: absolute;
	right: 6px;
	top: 5px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e33434;
}
.bell-button:hover,
.theme-button:hover,
.page-guide-button:hover{
	background: #f3f4f6;
}
.theme-form{
	display: inline-flex;
	margin: 0;
}
.theme-button span{
	display: none;
}
ip-app[data-theme="day"] .theme-button [data-theme-icon="day"],
ip-app[data-theme="dark"] .theme-button [data-theme-icon="dark"]{
	display: inline-flex;
}
.user-button{
	margin-left: 8px;
	background: #111;
	color: #fff;
	font-weight: 900;
}
.user-button img{
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
	display: block;
}
ip-notification-dropdown{
	display: none;
	position: absolute;
	right: 0;
	top: 42px;
	width: 360px;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0,0,0,.14);
	overflow: hidden;
	z-index: 100;
}
ip-notification-dropdown.is-open{
	display: grid;
}
ip-notification-list{
	display: grid;
}
ip-notification-item{
	display: grid;
	grid-template-columns: minmax(0,1fr) 34px;
	gap: 8px;
	align-items: stretch;
	border-bottom: 1px solid #eef1f4;
}
ip-notification-item.is-hidden{
	display: none;
}
ip-notification-item a{
	display: grid;
	gap: 4px;
	padding: 12px 0 12px 12px;
}
ip-notification-item strong{
	font-size: 13px;
}
ip-notification-item span{
	color: #707786;
	font-size: 13px;
}
.notification-read-form{
	display: flex;
	justify-content: center;
	margin: 8px 8px 0 0;
}
.notification-read-form button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	min-height: 26px;
	border: 0;
	border-radius: 6px;
	background: #f3f4f6;
	color: #374151;
	padding: 0;
}
.notification-read-form button:hover{
	background: var(--color-accent);
	color: #111;
}
ip-notification-pages{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 12px;
	border-bottom: 1px solid #eef1f4;
}
ip-notification-pages button{
	width: 28px;
	height: 28px;
	min-height: 28px;
	border: 1px solid var(--color-control-border);
	border-radius: 6px;
	background: #fff;
	color: #111;
	padding: 0;
}
ip-notification-foot{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	align-items: center;
	background: #fafafa;
	padding: 10px 12px;
}
.all-notifications{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-height: 30px;
	border: 1px solid var(--color-control-border);
	border-radius: 7px;
	background: #fff;
	color: #111;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 700;
}
ip-notification-foot form{
	margin: 0;
}
ip-notification-foot button{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 0;
	border: 0;
	background: transparent;
	color: #111;
	padding: 0;
	font-size: 12px;
	font-weight: 400;
	text-decoration: underline;
}
ip-notification-foot button ip-icon{
	width: 14px;
	height: 14px;
}

ip-account-dropdown{
	display: none;
	position: absolute;
	right: 0;
	top: 42px;
	width: 180px;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0,0,0,.14);
	overflow: hidden;
	z-index: 120;
}
ip-account-dropdown.is-open{
	display: grid;
}
ip-account-dropdown a{
	display: block;
	padding: 12px 14px;
	color: #111;
}
ip-account-dropdown a:hover{
	background: #f3f4f6;
}
ip-notice-item.is-highlighted{
	border-color: var(--color-accent);
	background: #fff9d7;
}
ip-page-body{
	display: block;
	padding: 24px;
}
ip-alert{
	display: block;
	margin: 16px 24px 0;
	border: 1px solid #bbf7d0;
	border-radius: 10px;
	background: #dcfce7;
	color: #166534;
	padding: 12px 14px;
}
ip-alert.is-error{
	border-color: #fecaca;
	background: #fef2f2;
	color: #b91c1c;
}
ip-widget-grid{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 12px;
	margin-bottom: 18px;
}
ip-dashboard{
	display: grid;
	gap: 18px;
}
ip-dashboard-summary{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 12px;
}
ip-dashboard-analytics{
	display: grid;
	grid-template-columns: 1fr 1fr minmax(260px,.8fr);
	gap: 16px;
}
ip-pro-analytics{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
ip-pro-kpis{
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap: 12px;
	padding: 16px 18px;
}
ip-pro-kpi{
	display: grid;
	gap: 6px;
	min-height: 86px;
	border: 1px solid #edf0f4;
	border-radius: 10px;
	background: #fafafa;
	padding: 12px;
}
ip-pro-kpi span{
	color: var(--color-muted);
	font-size: 12px;
}
ip-pro-kpi strong{
	font-size: 19px;
	font-weight: 900;
}
ip-pro-kpi em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-pro-grid{
	display: grid;
	grid-template-columns: 1.25fr .9fr 1fr;
	gap: 14px;
	padding: 0 18px 18px;
}
ip-pro-grid.is-secondary{
	grid-template-columns: 1fr 1fr;
}
ip-pro-card{
	display: block;
	min-height: 220px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	padding: 16px 0 16px 16px;
}
ip-pro-card h2{
	margin: 0 0 14px;
	font-size: 18px;
}
ip-pro-bar{
	display: grid;
	grid-template-columns: 135px minmax(0,1fr) 28px;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}
ip-pro-bar span{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-pro-bar b{
	display: block;
	height: 10px;
	border-radius: 999px;
	background: #e8edf5;
	overflow: hidden;
}
ip-pro-bar i{
	display: block;
	height: 100%;
	border-radius: 999px;
	background: #2563eb;
}
ip-donut{
	display: grid;
	place-content: center;
	width: 138px;
	height: 138px;
	margin: 8px auto 14px;
	border-radius: 50%;
	background: var(--donut);
	position: relative;
	text-align: center;
}
ip-donut::after{
	content: "";
	position: absolute;
	inset: 28px;
	border-radius: 50%;
	background: #fff;
}
ip-donut strong,
ip-donut span{
	position: relative;
	z-index: 1;
}
ip-donut strong{
	font-size: 24px;
	font-weight: 900;
}
ip-donut span{
	color: var(--color-muted);
	font-size: 12px;
}
ip-donut-legend{
	display: grid;
	gap: 7px;
}
ip-donut-legend span{
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--color-muted);
	font-size: 12px;
}
ip-donut-legend i{
	width: 10px;
	height: 10px;
	border-radius: 999px;
}
ip-donut-legend b{
	margin-left: auto;
	color: #111827;
}
ip-pro-card.is-finance dl{
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	margin: 0;
}
ip-pro-card.is-finance dt,
ip-pro-card.is-finance dd{
	border-bottom: 1px solid #edf0f4;
	padding: 10px 0;
}
ip-pro-card.is-finance dt{
	color: var(--color-muted);
}
ip-pro-card.is-finance dd{
	margin: 0;
	font-weight: 900;
	text-align: right;
}
ip-widget{
	display: block;
	min-height: 84px;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: #fff;
	padding: 16px;
}
ip-widget.is-danger{
	border-color: #ff9a9a;
	box-shadow: 0 0 0 4px #fee2e2 inset;
}
ip-widget span{
	display: block;
	margin-bottom: 6px;
	color: #7b8190;
}
ip-widget strong{
	display: block;
	font-size: 24px;
	font-weight: 900;
}
ip-widget em{
	color: #7b8190;
	font-style: normal;
}
ip-dashboard-summary ip-widget{
	min-height: 92px;
	padding: 14px 16px;
}
ip-dashboard-summary ip-widget strong{
	font-size: 22px;
}
ip-panel{
	display: block;
	margin-bottom: 18px;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: #fff;
	padding: 18px;
}
ip-panel h2{
	margin: 0 0 16px;
	font-size: 18px;
}
ip-dashboard-section{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: var(--color-panel);
	overflow: hidden;
}
ip-dashboard-head{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	border-bottom: 1px solid var(--color-border);
	padding: 16px 20px;
}
ip-dashboard-head span{
	display: grid;
	gap: 5px;
}
ip-dashboard-head strong{
	font-size: 17px;
	font-weight: 900;
}
ip-dashboard-head em,
ip-dashboard-head i{
	color: var(--color-muted);
	font-size: 13px;
	font-style: normal;
}
ip-dashboard-head i{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}
ip-dashboard-head i b{
	display: inline-block;
	width: 12px;
	height: 7px;
	border-radius: 999px;
	background: #6ee7b7;
}
ip-dashboard-head i b:nth-child(2){
	background: #facc15;
}
ip-dashboard-head i b:nth-child(3){
	background: #fca5a5;
}
ip-dashboard-head i b:nth-child(4){
	background: #1e3a8a;
}
ip-dashboard-head a{
	color: #111827;
	font-weight: 800;
	text-decoration: underline;
}
ip-grid-two,
ip-chart-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
ip-section-title{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin: 22px 0 12px;
}
ip-section-title strong{
	font-size: 18px;
	font-weight: 900;
}
ip-section-title span{
	color: #7b8190;
}
ip-registration-board{
	display: grid;
	gap: 14px;
	padding: 18px;
}
ip-registration-group{
	display: grid;
	gap: 10px;
}
ip-registration-group h3{
	margin: 0;
	color: #059669;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .03em;
	text-transform: uppercase;
}
ip-registration-group.is-danger h3{
	color: #dc2626;
}
ip-registration-card{
	display: grid;
	grid-template-columns: minmax(0,1fr) 140px;
	gap: 16px;
	border: 1px solid #8ee6bd;
	border-left: 4px solid #10b981;
	border-radius: 14px;
	background: #f0fdf7;
	padding: 16px;
}
ip-registration-card.is-complete{
	border-color: #6ee7b7;
	border-left-color: #059669;
}
ip-registration-card.is-danger{
	border-color: #fca5a5;
	border-left-color: #dc2626;
	background: #fff7f7;
}
ip-card-head{
	display: grid;
	gap: 5px;
}
ip-card-head span,
ip-card-head em{
	color: #7b8190;
	font-style: normal;
}
ip-card-head strong{
	font-size: 18px;
	font-weight: 900;
}
ip-card-head strong a{
	color: inherit;
	text-decoration: none;
}
ip-card-head strong a:hover{
	text-decoration: underline;
}
ip-registration-status{
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 8px;
	color: #059669;
	font-weight: 800;
	text-align: right;
}
ip-registration-status span{
	color: var(--color-muted);
	font-size: 13px;
	font-weight: 600;
	max-width: 90px;
}
ip-registration-status b{
	border: 1px solid #8ee6bd;
	border-radius: 999px;
	background: #dcfce7;
	padding: 6px 12px;
	white-space: nowrap;
}
ip-stage-line{
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(110px,1fr));
	gap: 4px;
}
ip-stage{
	display: grid;
	gap: 4px;
	min-height: 58px;
	border: 1px solid var(--color-control-border);
	border-top-width: 5px;
	border-radius: 7px;
	background: rgba(255,255,255,.62);
	padding: 8px;
}
ip-stage.is-done{
	border-color: var(--color-success);
}
ip-stage.is-active{
	border-color: var(--color-blue);
}
ip-stage.is-overdue{
	border-color: var(--color-danger);
}
ip-stage.is-waiting{
	border-color: var(--color-warning);
}
ip-stage.by-bureau{
	border-color: #facc15;
}
ip-stage.by-owner{
	border-color: #fca5a5;
}
ip-stage.by-rospatent{
	border-color: #1e3a8a;
}
ip-stage.is-done{
	background: #ecfdf5;
	border-color: #34d399;
}
ip-stage.is-overdue{
	background: #fff7f7;
	border-color: #ef4444;
}
ip-stage span,
ip-stage em{
	color: #7b8190;
	font-size: 12px;
	font-style: normal;
}
ip-stage-details{
	grid-column: 1 / -1;
	display: grid;
	gap: 8px;
	border-top: 1px solid #c7f0d9;
	padding-top: 12px;
}
ip-stage-details > strong{
	color: var(--color-muted);
	font-size: 12px;
	text-transform: uppercase;
}
ip-stage-detail{
	display: grid;
	grid-template-columns: 18px 1fr auto auto;
	align-items: center;
	gap: 12px;
	border: 1px solid #d8f3e4;
	border-radius: 9px;
	background: rgba(255,255,255,.48);
	padding: 9px 10px;
}
ip-stage-detail i{
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid #94a3b8;
	border-radius: 4px;
}
ip-stage-detail i.is-done{
	border-color: #10b981;
	background: #bbf7d0;
}
ip-stage-detail i.is-active{
	border-color: #2563eb;
	background: #dbeafe;
}
ip-stage-detail i.is-overdue{
	border-color: #ef4444;
	background: #fee2e2;
}
ip-stage-detail span,
ip-stage-detail em{
	color: var(--color-muted);
	font-style: normal;
}
ip-card-foot{
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid #8ee6bd;
	border-radius: 10px;
	background: rgba(255,255,255,.58);
	padding: 10px 12px;
}
ip-card-foot span{
	color: #047857;
	font-weight: 800;
}
ip-card-foot a{
	color: #111827;
	font-weight: 800;
	text-decoration: underline;
}
ip-registration-card.is-danger ip-card-foot{
	border-color: #fca5a5;
}
ip-registration-card.is-danger ip-card-foot span{
	color: #dc2626;
}
ip-mini-chart svg{
	width: 100%;
	height: 48px;
}
ip-mini-chart polyline{
	fill: none;
	stroke: #2563eb;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}
ip-dashboard-portfolio{
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
	gap: 12px;
	padding: 18px;
}
ip-dashboard-portfolio a{
	display: grid;
	gap: 7px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	padding: 14px;
}
ip-dashboard-portfolio span,
ip-dashboard-portfolio em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-dashboard-portfolio strong{
	min-height: 38px;
	font-weight: 900;
}
ip-finance-panel{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: var(--color-panel);
	padding: 16px;
}
ip-finance-panel h2{
	margin: 0 0 12px;
	font-size: 18px;
}
ip-finance-panel dl{
	display: grid;
	grid-template-columns: 1fr auto;
	margin: 0;
}
ip-finance-panel dt,
ip-finance-panel dd{
	border-bottom: 1px solid #edf0f4;
	padding: 10px 0;
}
ip-finance-panel dt{
	color: var(--color-muted);
}
ip-finance-panel dd{
	margin: 0;
	font-weight: 900;
	text-align: right;
}
ip-empty-state{
	display: block;
	border: 1px dashed var(--color-border);
	border-radius: 12px;
	color: var(--color-muted);
	padding: 24px;
	text-align: center;
}
ip-chart{
	display: block;
	margin-bottom: 18px;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: #fff;
	padding: 18px;
}
ip-chart h2{
	margin: 0 0 14px;
}
ip-chart-row{
	display: grid;
	grid-template-columns: 160px 1fr 50px;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
ip-chart-row b{
	display: block;
	height: 10px;
	border-radius: 999px;
	background: #e5e7eb;
	overflow: hidden;
}
ip-chart-row i{
	display: block;
	height: 100%;
	border-radius: 999px;
	background: #2563eb;
}
ip-table-wrap{
	display: block;
	overflow: auto;
}
ip-portfolio{
	display: grid;
	gap: 18px;
}
ip-portfolio-kpis{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 12px;
}
ip-portfolio-kpis ip-widget{
	min-height: 92px;
	position: relative;
}
ip-filter-panel.portfolio-filter{
	margin-bottom: 0;
}
ip-filter-panel.portfolio-filter form{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
ip-filter-panel.portfolio-filter input{
	flex: 1 1 300px;
	min-width: 300px;
	max-width: none;
}
ip-filter-panel.portfolio-filter ip-chip-row{
	margin-top: 0;
}
ip-filter-panel.portfolio-filter ip-section-switch{
	justify-content: flex-start;
	margin-top: 10px;
	width: 100%;
}
ip-filter-panel.portfolio-filter ip-section-switch em{
	margin-left: auto;
}
.portfolio-filter-reset{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-height: 22px;
	border: 0;
	border-radius: 6px;
	background: #eef1f5;
	color: #7b8190;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	padding: 0;
}
.portfolio-filter-reset:hover{
	background: #eef1f5;
	color: #111827;
}
.portfolio-filter-reset[hidden]{
	display: none;
}
ip-filter-panel.portfolio-filter ip-section-switch a{
	min-height: 28px;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 400;
}
ip-filter-panel.portfolio-filter ip-section-switch button{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 28px;
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: #fff;
	color: var(--color-muted);
	padding: 0 10px;
	font-size: 12px;
	font-weight: 400;
}
ip-filter-panel.portfolio-filter ip-section-switch button.portfolio-filter-reset{
	justify-content: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
	border: 0;
	border-radius: 6px;
	background: #eef1f5;
	color: #7b8190;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}
ip-filter-panel.portfolio-filter ip-section-switch button.portfolio-filter-reset:hover{
	background: #eef1f5;
	color: #111827;
}
ip-section-switch a ip-icon,
ip-section-switch button ip-icon,
.portfolio-group-title ip-icon{
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	margin-right: 5px;
}
ip-section-switch a.group-main.is-active,
ip-section-switch button.group-main.is-active,
.portfolio-table .group-main .portfolio-group-title a{
	border-color: #173b7a;
	background: #e8edf3;
	color: #173b7a;
}
ip-section-switch a.group-law.is-active,
ip-section-switch button.group-law.is-active,
.portfolio-table .group-law .portfolio-group-title a{
	border-color: #7c3aed;
	background: #eee7fb;
	color: #6d28d9;
}
ip-section-switch a.group-finance.is-active,
ip-section-switch button.group-finance.is-active,
.portfolio-table .group-finance .portfolio-group-title a{
	border-color: #059669;
	background: #e3f4ee;
	color: #047857;
}
ip-section-switch a.group-license.is-active,
ip-section-switch button.group-license.is-active,
.portfolio-table .group-license .portfolio-group-title a{
	border-color: #d97706;
	background: #fff2df;
	color: #c06a00;
}
.ui-arrow{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-height: 28px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: #fff;
	color: #475569;
	opacity: .5;
	padding: 0;
}
.ui-arrow:before{
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-1px) rotate(45deg);
}
.ui-arrow.is-active,
.is-expanded > ip-registration-summary .ui-arrow,
ip-stage-detail.is-open .ui-arrow{
	border-color: currentColor;
	background: color-mix(in srgb, currentColor 12%, #fff);
	color: inherit;
	opacity: 1;
}
.ui-arrow.is-active:before,
.is-expanded > ip-registration-summary .ui-arrow:before,
ip-stage-detail.is-open .ui-arrow:before{
	transform: translateY(2px) rotate(225deg);
}
.ui-arrow.is-horizontal:before{
	transform: translateX(-1px) rotate(-45deg);
}
.ui-arrow.is-horizontal.is-active:before{
	transform: translateX(2px) rotate(135deg);
}
.arrow-1{
	display: inline-block;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-1px) rotate(45deg);
}
.ip-info-tooltip{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	min-height: 0;
	border: 1px solid #c8ccd4;
	border-radius: 50%;
	background: #e5e7eb;
	color: #697180;
	padding: 0;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: none;
}
ip-portfolio-kpis .ip-info-tooltip{
	position: absolute;
	top: 16px;
	right: 16px;
}
button[class*="tooltip"] span,
.stage-info span{
	position: fixed;
	left: var(--ui-tooltip-left, 0);
	top: var(--ui-tooltip-top, 0);
	right: auto;
	bottom: auto;
	z-index: 30;
	width: 260px;
	max-width: calc(100vw - 16px);
	border-radius: 7px;
	background: #111;
	box-shadow: 0 8px 22px rgba(0,0,0,.22);
	color: #fff;
	padding: 10px 12px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	white-space: normal;
	transform: none;
	pointer-events: none;
	user-select: text;
	opacity: 0;
	transition: opacity .18s ease !important;
}
button.is-tooltip-open span,
.stage-info.is-tooltip-open span{
	pointer-events: auto;
	opacity: 1;
	transition: opacity .18s ease !important;
}
.portfolio-table .ip-info-tooltip span{
	width: 260px;
}
.ip-info-tooltip span:after,
.stage-info span:after{
	content: "";
	position: absolute;
	left: var(--ui-tooltip-arrow-left, 50%);
	bottom: -5px;
	top: auto;
	width: 10px;
	height: 10px;
	background: #111827;
	transform: translateX(-50%) rotate(45deg);
	transition: none !important;
}
.ip-info-tooltip.is-tooltip-below span:after,
.stage-info.is-tooltip-below span:after{
	top: -5px;
	bottom: auto;
}
.portfolio-table-panel{
	--portfolio-title-width: 240px;
	--portfolio-actions-expanded-width: 260px;
	--portfolio-actions-compact-width: 79px;
	--portfolio-header-height: 100px;
	padding: 0;
	overflow: hidden;
	position: relative;
}
.portfolio-table-panel ip-table-wrap{
	max-height: calc(100vh - 170px);
	scroll-padding-right: var(--portfolio-actions-expanded-width);
}
.portfolio-table{
	width: max-content;
	min-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: auto;
}
.portfolio-table th,
.portfolio-table td{
	padding: 12px 10px;
}
.portfolio-table td{
	font-size: 12px;
}
.portfolio-table td strong{
	display: block;
	font-size: 13px;
	font-weight: 900;
}
.portfolio-table small{
	display: block;
	margin-top: 4px;
	color: var(--color-muted);
	font-size: 12px;
}
.portfolio-table .portfolio-group-row th{
	border-bottom: 0;
	padding: 12px 14px;
	font-size: 12px;
	letter-spacing: .02em;
}
.portfolio-group-title{
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 168px;
	min-height: 24px;
	white-space: nowrap;
}
.portfolio-group-title b{
	flex: 0 0 auto;
	margin-right: 2px;
	font-weight: 400;
}
.portfolio-group-title a{
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	border: 1px solid currentColor;
	border-radius: 5px;
	padding: 0 7px;
	font-size: 12px;
	font-weight: 400;
	text-decoration: none;
	text-transform: none;
}
.portfolio-group-title .ui-arrow{
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	min-height: 24px;
	margin-left: 2px;
}
.portfolio-group-title .ui-arrow.is-active{
	color: inherit;
}
.portfolio-group-title .ip-info-tooltip{
	flex: 0 0 auto;
	margin-left: auto;
	border-color: currentColor;
	background: color-mix(in srgb, currentColor 12%, #fff);
	color: currentColor;
	font-size: 12px;
}
.portfolio-table th{
	position: relative;
	vertical-align: top;
}
.portfolio-column-title{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 22px;
	border: 0;
	background: transparent;
	color: inherit;
	padding: 0;
	font: inherit;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
	cursor: pointer;
}
.portfolio-column-title span{
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.portfolio-column-title i{
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	width: 12px;
	height: 14px;
}
.portfolio-column-title i:before,
.portfolio-column-title i:after{
	content: "";
	position: absolute;
	left: 3px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	opacity: .45;
}
.portfolio-column-title i:before{
	top: 1px;
	border-bottom: 5px solid currentColor;
}
.portfolio-column-title i:after{
	bottom: 1px;
	border-top: 5px solid currentColor;
}
.portfolio-table th[data-sort-direction="asc"] .portfolio-column-title i:before,
.portfolio-table th[data-sort-direction="desc"] .portfolio-column-title i:after{
	opacity: 1;
}
ip-column-filter{
	display: block;
	margin-top: 4px;
}
ip-column-filter input,
ip-column-filter select{
	width: 100%;
	min-height: 24px;
	border: 0;
	border-bottom: 1px dashed #d9dde5;
	border-radius: 0;
	background: transparent;
	color: var(--color-muted);
	padding: 0;
	font-size: 12px;
	font-weight: 400;
}
ip-column-filter select{
	cursor: pointer;
}
ip-column-filter input:focus,
ip-column-filter select:focus{
	outline: none;
	border-color: var(--color-accent);
	box-shadow: none;
}
.portfolio-number-filter{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
}
.portfolio-number-filter input[type="number"]{
	min-width: 0;
}
.portfolio-number-range{
	--range-from: 0%;
	--range-to: 100%;
	position: absolute;
	z-index: 11;
	top: 100%;
	left: 0;
	right: 0;
	display: none;
	height: 34px;
	border: 1px solid #cfd7e3;
	border-radius: 8px;
	background: var(--color-panel);
	padding: 0 13px;
	box-shadow: 0 8px 18px rgba(15,23,42,.12);
	user-select: none;
}
.portfolio-number-range-track,
.portfolio-number-range-fill{
	position: absolute;
	left: 13px;
	right: 13px;
	top: 50%;
	height: 4px;
	border-radius: 999px;
	transform: translateY(-50%);
}
.portfolio-number-range-track{
	background: #e8edf4;
}
.portfolio-number-range-fill{
	left: calc(13px + var(--range-from));
	right: calc(13px + (100% - var(--range-to)));
	background: linear-gradient(90deg, #ffd400, #f5b700);
}
th:hover .portfolio-number-range,
.portfolio-number-range:hover{
	display: block;
}
.portfolio-number-range-handle{
	position: absolute;
	z-index: 3;
	top: 50%;
	width: 16px;
	height: 16px;
	min-height: 0;
	border: none;
	border-radius: 50%;
	background: var(--color-accent);
	padding: 0;
	transform: translate(-50%, -50%);
	cursor: pointer;
}
.portfolio-table .col-reg{width: 150px;}
.portfolio-table .col-type{width: 130px;}
.portfolio-table .col-title{
	width: max-content;
	min-width: 240px;
	max-width: 360px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.portfolio-table .col-title a{
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.portfolio-table .col-title strong,
.portfolio-table .col-title small{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.portfolio-table .col-holder{width: 190px;}
.portfolio-table .col-status{width: 160px;}
.portfolio-table .col-priority{width: 150px;}
.portfolio-table .col-country{width: 90px;}
.portfolio-table .col-date{width: 150px;}
.portfolio-table .col-registry{width: 150px;}
.portfolio-table .col-money{width: 150px;}
.portfolio-table .col-balance{width: 130px;}
.portfolio-table .col-license{width: 100px;}
.portfolio-table .is-collapsed .portfolio-group-title{
	justify-content: flex-start;
}
.portfolio-table .group-main{
	background: #e8edf3;
	color: #173b7a;
}
.portfolio-table .group-law{
	background: #eee7fb;
	color: #6d28d9;
}
.portfolio-table .group-finance{
	background: #e3f4ee;
	color: #047857;
}
.portfolio-table .group-license{
	background: #fff2df;
	color: #c06a00;
}
.portfolio-table thead th,
.portfolio-table tr:first-child th,
.portfolio-table .portfolio-group-row th{
	position: sticky;
	top: 0;
	z-index: 30;
	background-clip: padding-box;
}
.portfolio-table .portfolio-group-row th{
	min-width: 168px;
}
.portfolio-table tr:nth-child(2) th{
	position: sticky;
	top: 49px;
	z-index: 25;
	background: var(--color-panel);
}
.portfolio-table tr:nth-child(2) th.col-title{
	z-index: 35;
}
.portfolio-table .portfolio-actions-head{
	text-align: left;
	vertical-align: top;
	background: var(--color-panel);
	color: var(--color-muted);
}
.portfolio-table .portfolio-actions-head .portfolio-group-title{
	justify-content: flex-start;
	min-width: var(--portfolio-actions-expanded-width);
}
.portfolio-table .portfolio-actions-head ip-icon{
	width: 17px;
	height: 17px;
	margin-right: 0;
}
.portfolio-table .col-title{
	position: sticky;
	left: 0;
	z-index: 12;
	background: var(--color-panel);
	background-clip: border-box;
}
.portfolio-table th.col-title{
	z-index: 35 !important;
	background: var(--color-panel);
}
.portfolio-table .col-actions-full,
.portfolio-actions-compact-overlay,
.portfolio-actions-compact-overlay ip-row-actions,
.portfolio-table td.col-actions-full ip-row-actions{
	transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}
.portfolio-table th.col-actions-full,
.portfolio-table td.col-actions-full{
	min-width: var(--portfolio-actions-expanded-width);
	width: var(--portfolio-actions-expanded-width);
	box-sizing: border-box;
	background: var(--color-panel);
	border-left: 1px solid #d7dde7;
}
.portfolio-table th.col-actions-full{
	z-index: 30;
	padding: 14px 14px;
}
.portfolio-table td.col-actions-full ip-row-actions{
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 100%;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	gap: 6px;
	background: transparent;
	padding: 0;
	overflow: hidden;
}
.portfolio-table td.col-actions-full ip-row-actions{
	min-height: 32px;
}
.portfolio-table td.col-actions-full ip-row-actions a,
.portfolio-table td.col-actions-full ip-row-actions button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: auto;
	height: 32px;
	min-height: 32px;
	padding: 0 9px;
}
.portfolio-table td.col-actions-full ip-row-actions ip-icon{
	width: 16px;
	height: 16px;
}
.portfolio-actions-compact-overlay{
	position: absolute;
	top: -1px;
	right: 0;
	bottom: 17px;
	z-index: 40;
	width: var(--portfolio-actions-compact-width);
	overflow: hidden;
	pointer-events: none;
	opacity: 1;
	visibility: visible;
	transition: opacity .5s ease, visibility 0s linear 0s;
}
.portfolio-table-panel.has-vertical-scroll .portfolio-actions-compact-overlay{
	right: 17px;
}
.portfolio-actions-compact-overlay ip-row-actions{
	position: absolute;
	right: 0;
	width: var(--portfolio-actions-compact-width);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border-left: 1px solid #d7dde7;
	border-bottom: 1px solid #edf0f4;
	background: var(--color-panel);
	padding: 0 6px;
	overflow: hidden;
	pointer-events: auto;
}
.portfolio-actions-compact-overlay ip-row-actions a,
.portfolio-actions-compact-overlay ip-row-actions button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	min-height: 30px;
	padding: 0;
}
.portfolio-actions-compact-overlay ip-row-actions ip-icon{
	width: 16px;
	height: 16px;
}
.portfolio-actions-compact-overlay ip-row-actions span{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.portfolio-actions-compact-overlay.is-hidden{
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .5s ease, visibility 0s linear .5s;
}
.portfolio-actions-compact-head{
	z-index: 1;
	background: var(--color-panel);
	border-left: 1px solid #d7dde7;
	border-bottom: 1px solid #d7dde7;
	transition: opacity .5s ease;
}
.portfolio-table-panel.is-scrolled-x .portfolio-table .col-title{
	border-right: 1px solid #d7dde7;
}
.portfolio-table-panel.is-scrolled-y .portfolio-table tr:first-child th,
.portfolio-table-panel.is-scrolled-y .portfolio-table .portfolio-group-row th,
.portfolio-table-panel.is-scrolled-y .portfolio-table tr:nth-child(2) th{
	border-bottom: 1px solid #d7dde7;
}
ip-portfolio.is-main-collapsed [data-group-column="main"]:not([data-collapsed-keep]),
ip-portfolio.is-law-collapsed [data-group-column="law"]:not([data-collapsed-keep]),
ip-portfolio.is-finance-collapsed [data-group-column="finance"]:not([data-collapsed-keep]),
ip-portfolio.is-license-collapsed [data-group-column="license"]:not([data-collapsed-keep]){
	display: none;
}
ip-portfolio.is-main-collapsed td[data-group-column="main"][data-collapsed-keep],
ip-portfolio.is-law-collapsed td[data-group-column="law"][data-collapsed-keep],
ip-portfolio.is-finance-collapsed td[data-group-column="finance"][data-collapsed-keep],
ip-portfolio.is-license-collapsed td[data-group-column="license"][data-collapsed-keep]{
	background: #fafafa;
}
ip-country,
ip-priority{
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	border-radius: 5px;
	background: #f1f3f6;
	padding: 0 7px;
	font-size: 12px;
	font-weight: 800;
}
ip-priority{
	background: #fff3c4;
	color: #a16207;
}
.is-danger-text{
	color: #ef4444;
	font-weight: 800;
}
.is-success-text{
	color: #059669;
	font-weight: 800;
}
ip-row-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
ip-row-actions a,
ip-row-actions button{
	min-height: 28px;
	border-radius: 6px;
	padding: 0 9px;
	font-size: 12px;
}
ip-row-actions a{
	display: inline-flex;
	align-items: center;
	border: 1px solid #cfd3dc;
	background: #fff;
	font-weight: 800;
}
ip-object-page{
	display: grid;
	gap: 18px;
	max-width: 1320px;
}
ip-object-hero{
	display: grid;
	grid-template-columns: 28px 1fr;
	column-gap: 14px;
	align-items: start;
}
.object-back{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	color: var(--color-muted);
	font-size: 22px;
	text-decoration: none;
}
ip-object-badges{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
ip-object-hero h2,
ip-object-hero p{
	grid-column: 2;
	margin: 0;
}
ip-object-hero h2{
	margin-top: 6px;
	font-size: 22px;
}
ip-object-hero p{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: var(--color-muted);
}
ip-object-hero p b{
	color: var(--color-text);
}
ip-object-tabs{
	display: flex;
	align-items: end;
	gap: 0;
	border-bottom: 1px solid var(--color-border);
}
ip-object-tabs a{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	border-bottom: 2px solid transparent;
	padding: 0 18px;
	color: #6b7280;
	font-weight: 800;
	text-decoration: none;
}
ip-object-tabs a.is-active{
	border-color: #111;
	color: #111;
}
ip-object-tabs b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	border-radius: 999px;
	background: #ef4444;
	color: #fff;
	font-size: 12px;
}
ip-object-panel{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	padding: 22px;
}
ip-object-panel > h2{
	margin: 0 0 18px;
	font-size: 18px;
}
ip-object-panel-note{
	display: block;
	margin: -10px 0 14px;
	color: var(--color-muted);
	font-size: 13px;
}
ip-object-panel hr{
	height: 1px;
	border: 0;
	background: #e5e7eb;
	margin: 18px 0;
}
.object-stage-panel{
	display: grid;
	gap: 16px;
}
ip-object-stage-head{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
ip-object-stage-head > div{
	display: grid;
	gap: 3px;
}
ip-object-stage-head span,
ip-object-stage-head em,
ip-object-stage-meta,
.object-stage-history li span,
.object-stage-history li em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-object-stage-head strong{
	font-size: 18px;
}
ip-object-stage-state{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	border-radius: 999px;
	background: #e8f8ee;
	color: #087c4f;
	padding: 0 11px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}
ip-object-stage-state.is-due{
	background: #fff4d8;
	color: #a56600;
}
ip-object-stage-state.is-overdue{
	background: #fff0f0;
	color: #c53333;
}
ip-object-stage-summary{
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
}
ip-object-stage-summary > div{
	display: grid;
	gap: 4px;
	min-width: 0;
	padding: 11px 12px;
	border-right: 1px solid var(--color-border);
}
ip-object-stage-summary > div:last-child{
	border-right: 0;
}
ip-object-stage-summary span{
	color: var(--color-muted);
	font-size: 12px;
}
ip-object-stage-summary strong{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-object-stage-route{
	display: grid;
	gap: 9px;
}
ip-object-stage-route > strong{
	font-size: 13px;
}
ip-object-stage-route ol{
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
ip-object-stage-route li{
	display: grid;
	gap: 3px;
	min-width: 0;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 10px 11px;
}
ip-object-stage-route li.is-current{
	border-color: var(--color-accent);
	background: color-mix(in srgb,var(--color-accent) 12%,var(--color-panel));
}
ip-object-stage-route li.is-done{
	border-color: #8bd7b4;
	background: #f2fcf6;
}
ip-object-stage-route li > strong{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-object-stage-route li span,
ip-object-stage-route li em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-object-stage-route li.is-current span{
	color: var(--color-text);
	font-weight: 700;
}
ip-object-stage-description{
	display: block;
	border-left: 3px solid var(--color-accent);
	background: #f8fafc;
	padding: 10px 12px;
	color: var(--color-muted);
	font-size: 13px;
	line-height: 1.45;
}
ip-object-stage-meta{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}
ip-object-stage-requirements{
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px;
}
ip-object-stage-requirements > div{
	display: grid;
	gap: 5px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 12px;
}
ip-object-stage-requirements strong{
	font-size: 13px;
}
ip-object-stage-requirements span{
	color: var(--color-muted);
	font-size: 12px;
}
ip-object-stage-warning,
ip-object-stage-error{
	display: block;
	border: 1px solid #f7b4b4;
	border-radius: 8px;
	background: #fff4f4;
	color: #d92d2d;
	padding: 10px 12px;
	font-size: 13px;
}
ip-object-stage-links{
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 12px;
}
ip-object-stage-links > div{
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 12px;
}
ip-object-stage-links strong{
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
}
ip-object-stage-links ul{
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
ip-object-stage-links li{
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
}
ip-object-stage-links li a{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-object-stage-links li span,
ip-object-stage-links > div > em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-object-stage-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	border-top: 1px solid var(--color-border);
	padding-top: 16px;
}
ip-object-stage-actions > strong{
	width: 100%;
	font-size: 13px;
}
ip-object-stage-actions form{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
ip-object-stage-actions .checkbox-label{
	margin: 0;
}
.object-stage-history{
	border-top: 1px solid var(--color-border);
	padding-top: 14px;
}
.object-stage-history summary{
	cursor: pointer;
	font-weight: 700;
}
.object-stage-history ul{
	display: grid;
	gap: 7px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.object-stage-history li{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 10px;
}
.object-edit-details{
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	padding: 0 22px;
}
.object-edit-details summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	list-style: none;
	padding: 16px 0;
	font-weight: 700;
}
.object-edit-details summary::-webkit-details-marker{
	display: none;
}
.object-edit-details summary::after{
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-1px) rotate(-45deg);
	transition: transform .2s ease;
}
.object-edit-details[open] summary::after{
	transform: translateY(-2px) rotate(45deg);
}
.object-edit-details[open]{
	padding-bottom: 22px;
}
.object-task-add-button{
	margin-top: 12px;
}
.object-document-add-button{
	margin-bottom: 12px;
}
.object-edit-details ip-object-panel{
	border: 0;
	border-radius: 0;
	padding: 0;
}
@media (max-width: 720px){
	ip-object-stage-head{
		align-items: stretch;
		flex-direction: column;
	}
	ip-object-stage-requirements{
		grid-template-columns: 1fr;
	}
	ip-object-stage-links{
		grid-template-columns: 1fr;
	}
	ip-object-stage-summary{
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
	ip-object-stage-summary > div:nth-child(2){
		border-right: 0;
	}
	ip-object-stage-summary > div:nth-child(-n + 2){
		border-bottom: 1px solid var(--color-border);
	}
	ip-object-stage-actions form{
		align-items: flex-start;
		flex-direction: column;
	}
}
ip-object-fields{
	display: grid;
	grid-template-columns: repeat(2,minmax(240px,1fr));
	gap: 22px 72px;
}
ip-object-field{
	display: grid;
	gap: 8px;
}
ip-object-field span,
ip-object-description span,
ip-event-form span{
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
ip-object-field strong{
	font-size: 15px;
	font-weight: 600;
}
ip-code{
	display: inline-flex;
	border-radius: 4px;
	background: #eef0f2;
	padding: 4px 8px;
	font-family: var(--font-mono);
	font-size: 12px;
}
ip-object-description{
	display: grid;
	gap: 10px;
}
ip-object-description p{
	margin: 0;
}
ip-object-money{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 16px;
	margin-top: 18px;
}
ip-object-money ip-widget{
	min-height: 76px;
	background: #fafafa;
}
ip-event-timeline{
	display: grid;
	gap: 0;
	padding: 4px 0 18px;
}
ip-event-row{
	display: grid;
	grid-template-columns: 24px 112px minmax(180px,1fr) 140px 110px;
	align-items: center;
	gap: 14px;
	min-height: 78px;
	border-left: 2px solid #e5e7eb;
	margin-left: 8px;
	padding-left: 18px;
}
ip-event-row i{
	width: 12px;
	height: 12px;
	border-radius: 999px;
	background: #f59e0b;
	box-shadow: 0 0 0 4px #fff7dd;
	margin-left: -25px;
}
ip-event-kind{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	min-height: 26px;
	border-radius: 5px;
	background: #f3f6f9;
	color: #475569;
	padding: 4px 9px;
	font-size: 12px;
	font-weight: 700;
}
ip-event-row.is-fee i{
	background: #f59e0b;
}
ip-event-row.is-fee ip-event-kind{
	background: #fff7dd;
	color: #b45309;
}
ip-event-row.is-task i{
	background: #2563eb;
}
ip-event-row.is-task ip-event-kind{
	background: #eaf2ff;
	color: #2563eb;
}
ip-event-row.is-document i{
	background: #7c3aed;
}
ip-event-row.is-document ip-event-kind{
	background: #f3e8ff;
	color: #7c3aed;
}
ip-event-row.is-manual i{
	background: #64748b;
}
ip-event-row.is-manual ip-event-kind{
	background: #eef1f5;
	color: #475569;
}
ip-event-row > div{
	display: grid;
	gap: 4px;
}
ip-event-row strong{
	font-size: 15px;
}
ip-event-row small{
	color: var(--color-muted);
}
ip-event-row time{
	color: var(--color-muted);
	font-size: 12px;
	white-space: nowrap;
}
ip-event-row mark{
	background: transparent;
	font-weight: 900;
	text-align: right;
}
ip-event-form{
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	padding: 18px;
}
ip-event-form h3,
ip-event-form .is-wide{
	grid-column: 1 / -1;
}
ip-event-form h3{
	margin: 0 0 4px;
	color: #6b7280;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
ip-event-form-actions{
	display: flex;
	grid-column: 1 / -1;
	justify-content: flex-end;
	padding-top: 4px;
}
ip-event-form-actions button{
	width: auto;
}
ip-badge{
	display: inline-flex;
	align-items: center;
	min-height: 23px;
	border-radius: 5px;
	background: #eef1f5;
	color: #666f7d;
	padding: 0 8px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}
ip-badge.is-danger{
	background: #fee2e2;
	color: #dc2626;
}
ip-badge.is-warning{
	background: #fff0c2;
	color: #a16207;
}
ip-badge.is-success{
	background: #dcfce7;
	color: #166534;
}
ip-filter-panel{
	display: block;
	margin-bottom: 18px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	padding: 12px;
}
ip-filter-panel form{
	display: flex;
	align-items: center;
	gap: 12px;
}
ip-filter-panel input{
	max-width: 720px;
}
ip-section-switch,
ip-chip-row{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 10px;
}
ip-section-switch a,
ip-chip-row a{
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border: 1px solid var(--color-control-border);
	border-radius: 8px;
	background: #f5f5f5;
	padding: 0 14px;
	color: #818796;
	font-weight: 800;
}
ip-chip-row a.is-active{
	background: #111;
	color: #fff;
}
ip-chip-row button{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 0;
	border-radius: 999px;
	background: #eef0f3;
	color: #697180;
	padding: 0 14px;
	font-size: 12px;
	font-weight: 800;
}
ip-chip-row button.is-active{
	background: #111;
	color: #fff;
}
ip-section-switch a.is-active{
	border-color: #1d4ed8;
	background: #f5f9ff;
	color: #173b7a;
}
ip-filter-panel.portfolio-filter ip-section-switch a.group-main.is-active{
	border-color: #173b7a;
	background: #e8edf3;
	color: #173b7a;
}
ip-filter-panel.portfolio-filter ip-section-switch a.group-law.is-active{
	border-color: #7c3aed;
	background: #eee7fb;
	color: #6d28d9;
}
ip-filter-panel.portfolio-filter ip-section-switch a.group-finance.is-active{
	border-color: #059669;
	background: #e3f4ee;
	color: #047857;
}
ip-filter-panel.portfolio-filter ip-section-switch a.group-license.is-active{
	border-color: #d97706;
	background: #fff2df;
	color: #c06a00;
}
ip-fee-list,
ip-task-list,
ip-document-groups{
	display: grid;
	gap: 12px;
}
ip-filter-panel.document-filter form{
	display: flex;
	align-items: center;
	width: 100%;
	flex-wrap: wrap;
	gap: 12px;
}
ip-filter-panel.document-filter input[name="query"]{
	flex: 1 1 680px;
	min-width: 520px;
}
ip-filter-panel.document-filter select{
	flex: 0 0 auto;
	width: 220px;
}
ip-filter-panel.document-filter .holder-filter-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex: 0 0 auto;
	width: 240px;
	min-height: 36px;
	border: 1px solid var(--color-border);
	background: var(--color-panel);
	color: var(--color-text);
	padding: 0 12px;
}
ip-filter-panel.document-filter .holder-filter-button span{
	color: var(--color-muted);
	font-weight: 400;
}
ip-filter-panel.document-filter .holder-filter-button b{
	overflow: hidden;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-filter-panel.document-filter ip-holder-filter-field{
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 260px;
}
ip-filter-panel.document-filter ip-holder-filter-field .holder-filter-value{
	display: block;
	width: 100%;
	min-height: 36px;
	border: 1px solid var(--color-border);
	border-radius: 7px;
	padding-right: 34px;
	background: #f7f8fa;
	color: var(--color-text);
	font-weight: 600;
	text-align: left;
}
ip-filter-panel.document-filter ip-holder-filter-field .holder-filter-value:hover{
	border-color: #cfd6e3;
	background: #fff;
}
ip-filter-panel.document-filter ip-holder-filter-field .search-clear{
	background: #eef0f3;
}
ip-filter-panel.document-filter .document-reset{
	min-height: 36px;
	padding: 0 16px;
}
ip-deadlines-page{
	display: grid;
	gap: 16px;
}
ip-widget-grid.fee-kpis ip-widget{
	min-height: 78px;
}
ip-widget-grid.fee-kpis ip-widget.is-danger{
	border-color: #ff8d8d;
}
ip-filter-panel.fee-filter{
	margin-bottom: 0;
}
ip-filter-panel.fee-filter form{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
}
ip-filter-panel.fee-filter select{
	width: 170px;
	min-height: 34px;
}
ip-filter-panel.fee-filter label{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #6b7280;
	font-size: 13px;
}
ip-filter-panel.fee-filter input[type="checkbox"]{
	width: 14px;
	height: 14px;
	accent-color: #111827;
}
ip-filter-panel.fee-filter button:not(.fee-add-button){
	display: none;
}
ip-filter-panel.fee-filter .fee-add-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	min-height: 34px;
	border: 1px solid var(--color-accent);
	border-radius: 7px;
	background: var(--color-accent);
	color: #111827;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 700;
}
ip-filter-panel.fee-filter em{
	margin-left: auto;
	color: #6b7280;
	font-style: normal;
}
ip-fee-card,
ip-task-card{
	display: grid;
	grid-template-columns: 72px 1fr 190px;
	gap: 16px;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	padding: 16px;
}
ip-fee-card{
	grid-template-columns: 64px minmax(0,1fr) 170px;
	column-gap: 14px;
	align-items: start;
	min-height: 132px;
	border-color: #ff8f8f;
	padding: 16px 18px 16px 16px;
}
ip-fee-card.is-danger{
	border-color: #ff8f8f;
	background: #fff7f7;
}
ip-date-box{
	display: grid;
	justify-items: center;
	border-radius: 8px;
	background: #ffe1e1;
	padding: 10px;
	color: #e33434;
}
ip-fee-card ip-date-box{
	width: 62px;
	min-height: 66px;
	margin-top: 1px;
	padding: 7px 6px;
	background: #f4f4f5;
	color: #7b8190;
}
ip-fee-card.is-danger ip-date-box{
	background: #ffe2e5;
}
ip-date-box strong{
	font-size: 22px;
	line-height: 1;
	color: #111827;
}
ip-date-box span,
ip-date-box em{
	font-size: 12px;
	font-style: normal;
	line-height: 1.2;
}
ip-date-box span{
	font-weight: 700;
}
ip-date-box em{
	margin-top: 2px;
}
ip-fee-card.is-danger ip-date-box strong{
	color: #ef4444;
}
ip-fee-body,
ip-task-body{
	display: block;
}
ip-fee-tags{
	display: flex;
	gap: 6px;
	margin-bottom: 7px;
}
ip-fee-tags ip-badge{
	min-height: 22px;
	border-radius: 5px;
	padding: 0 8px;
	font-size: 12px;
	font-weight: 700;
}
ip-fee-body strong,
ip-task-body strong{
	display: block;
	margin: 7px 0;
	font-size: 15px;
}
ip-fee-body strong{
	margin: 0 0 5px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
}
ip-fee-body span,
ip-task-body span,
ip-fee-body em,
ip-task-body em{
	display: block;
	color: #6b7280;
	font-style: normal;
	line-height: 1.4;
}
ip-fee-body em{
	margin-top: 6px;
	font-size: 12px;
	font-style: italic;
	line-height: 1.25;
}
ip-task-body span{
	color: #000;
}
.fee-object-link{
	display: block;
	max-width: 620px;
	color: #20252d;
	font-size: 12px;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
ip-fee-body i{
	display: block;
	height: 4px;
	width: calc(100% - 16px);
	margin-top: 13px;
	border-radius: 999px;
	background: #e5e7eb;
	overflow: hidden;
	position: relative;
}
ip-fee-body i:before{
	content: "";
	display: block;
	width: var(--fee-progress, 0%);
	height: 100%;
	border-radius: inherit;
	background: var(--fee-progress-color, #22c55e);
}
ip-fee-side{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	align-self: stretch;
	justify-items: end;
	gap: 7px;
	min-height: 100%;
	padding-top: 1px;
	padding-right: 0;
}
ip-fee-side strong{
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
}
ip-fee-side span{
	color: #e33434;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}
ip-fee-side button{
	min-width: 128px;
	min-height: 32px;
	border: 1px solid #111;
	border-radius: 6px;
	background: #fff;
	color: #111;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}
ip-fee-side form{
	margin-top: auto;
}
ip-task-card{
	grid-template-columns: 28px 1fr 140px;
}
ip-document-group{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
ip-document-group h2{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	border-bottom: 1px solid #e5e7eb;
	padding: 14px 18px;
	font-size: 15px;
}
ip-document-group h2 span{
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
ip-document-group h2 span > ip-icon,
ip-document-group h2 span > svg,
ip-document-group h2 span > i{
	transform: translateY(2px);
}
ip-document-group h2 small{
	color: #6b7280;
	font-size: 13px;
	font-weight: 400;
}
ip-document-group h2 button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	border: 1px solid var(--color-accent);
	border-radius: 7px;
	background: var(--color-accent);
	color: #111827;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 700;
}
ip-document-row{
	display: grid;
	grid-template-columns: 42px minmax(0,1fr) minmax(170px,.38fr) 150px auto;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid #eef1f4;
	padding: 14px 18px;
}
ip-document-row b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: #fff0f0;
	color: #e33434;
	font-size: 12px;
}
ip-document-row span,
ip-document-row small{
	display: grid;
	gap: 4px;
}
ip-document-row em,
ip-document-row small{
	color: #6b7280;
	font-style: normal;
}
ip-document-row .document-holder-column em{
	color: #9ca3af;
	font-size: 12px;
}
ip-document-actions{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}
ip-document-actions a,
ip-document-actions button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--color-border);
	border-radius: 7px;
	background: var(--color-panel);
	color: var(--color-text);
	padding: 0;
}
ip-document-actions a:hover,
ip-document-actions button:hover{
	border-color: #cfd6e3;
	background: #f7f8fa;
}
ip-document-actions img{
	width: 16px;
	height: 16px;
}
ip-document-comment{
	grid-column: 2 / -1;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: -4px;
	color: #4b5563;
	font-size: 13px;
	line-height: 1.45;
}
ip-document-comment p{
	margin: 0;
}
ip-document-comment button{
	border: 0;
	background: transparent;
	color: #1f4f8f;
	padding: 0;
	font-size: 13px;
	text-decoration: underline;
}
ip-application-drafts{
	display: block;
	width: 100%;
	max-width: 1120px;
	margin: 24px 0 24px;
}
ip-application-drafts h3{
	margin: 0 0 10px;
	font-size: 16px;
}
ip-application-drafts .application-draft-filters{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 0 0 12px;
}
ip-application-drafts .application-draft-filters select{
	width: 210px;
	min-height: 36px;
}
ip-application-drafts .application-draft-filters .button{
	min-height: 36px;
	padding: 0 14px;
}
ip-application-drafts .application-draft-filters .button.is-muted{
	color: var(--color-muted);
	background: var(--color-panel);
	border-color: var(--color-border);
}
ip-application-drafts table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}
ip-application-drafts th,
ip-application-drafts td{
	padding: 12px 14px;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
	vertical-align: middle;
}
ip-application-drafts th{
	color: var(--color-muted);
	font-size: 12px;
	font-weight: 600;
	text-transform: none;
}
ip-application-drafts th a{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: inherit;
	text-decoration: none;
}
ip-application-drafts th a.is-active{
	color: var(--color-text);
}
ip-application-drafts th[data-sort-direction="asc"] .portfolio-column-title i:before,
ip-application-drafts th[data-sort-direction="desc"] .portfolio-column-title i:after{
	opacity: 1;
}
ip-application-drafts tr:last-child td{
	border-bottom: 0;
}
ip-application-drafts .application-draft-open{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text);
	text-align: left;
	cursor: pointer;
}
ip-application-drafts .application-draft-open b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: var(--color-panel);
}
ip-application-drafts .application-draft-open.type-tm b{
	background: #dfe8ff;
	color: #1f4f8f;
}
ip-application-drafts .application-draft-open.type-invention b{
	background: #f1e7ff;
	color: #7c3aed;
}
ip-application-drafts .application-draft-open.type-utility b{
	background: #fff1df;
	color: #c46a16;
}
ip-application-drafts .application-draft-open.type-software b{
	background: #dff4f0;
	color: #0f766e;
}
ip-application-drafts .application-draft-open.type-design b{
	background: #ffe4f0;
	color: #db2777;
}
ip-application-drafts .application-draft-open ip-icon{
	width: 18px;
	height: 18px;
}
ip-application-drafts span{
	color: var(--color-text);
	font-size: 14px;
	font-weight: 600;
}
ip-application-drafts .button-danger{
	justify-content: center;
	width: 34px;
	min-height: 34px;
	padding: 0;
}
ip-application-page{
	display: grid;
	justify-content: center;
	padding-top: 42px;
}
ip-application-head{
	display: grid;
	gap: 8px;
	margin-bottom: 22px;
}
ip-application-head h2{
	margin: 0;
	font-size: 24px;
}
ip-application-types{
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 12px;
	max-width: 1120px;
}
ip-application-type{
	display: grid;
	justify-items: center;
	gap: 8px;
	border: 2px solid #d4dfff;
	border-radius: 12px;
	background: #f6f7ff;
	padding: 18px;
	text-align: center;
}
ip-application-type.type-tm{
	border-color: #c7d7ff;
	background: #f3f6ff;
}
ip-application-type.type-invention{
	border-color: #dcc7ff;
	background: #f8f3ff;
}
ip-application-type.type-utility{
	border-color: #edc9ab;
	background: #fff8f1;
}
ip-application-type.type-software{
	border-color: #b8ddd9;
	background: #f0fbfa;
}
ip-application-type.type-design{
	border-color: #f4c0d7;
	background: #fff4fa;
}
ip-application-type b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #e7ecff;
	color: #111827;
}
ip-application-type b ip-icon{
	width: 24px;
	height: 24px;
}
ip-application-type.type-tm b{
	background: #dce6ff;
	border: 1px solid #abc1ff;
}
ip-application-type.type-invention b{
	background: #efe2ff;
	border: 1px solid #c99cff;
}
ip-application-type.type-utility b{
	background: #fee7d4;
	border: 1px solid #e7b388;
}
ip-application-type.type-software b{
	background: #dff4f1;
	border: 1px solid #9fd3cc;
}
ip-application-type.type-design b{
	background: #ffe3ef;
	border: 1px solid #efa8c7;
}
ip-application-type span{
	color: #9ca3af;
	font-size: 12px;
}
ip-modal{
	display: none;
	position: fixed;
	inset: 0;
	align-items: center;
	justify-content: center;
	z-index: 1000;
	background: rgba(0,0,0,.62);
	backdrop-filter: blur(6px);
	padding: 20px;
}
ip-modal.is-open{
	display: flex;
}
ip-modal-window{
	display: block;
	width: auto;
	min-width: min(360px,calc(100vw - 40px));
	max-width: min(840px,calc(100vw - 40px));
	max-height: calc(100vh - 40px);
	overflow: auto;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 80px rgba(0,0,0,.35);
	padding: 22px;
	position: relative;
}
.modal-close{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	min-height: 30px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font-size: 24px;
	padding: 0 5px;
}
ip-modal-actions{
	position: sticky;
	top: -22px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	min-height: 38px;
	margin: -22px -22px 14px;
	padding: 5px 5px 0;
	background: inherit;
}
ip-modal-actions .page-guide-button,
ip-modal-actions .modal-close{
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	min-height: 30px;
}
ip-modal-actions .page-guide-button.is-modal-guide{
	position: static;
}
.modal-close:hover{
	background: #f3f4f6;
}
ip-ui-dialog > .modal-close{
	position: absolute;
	right: 5px;
	top: 1px;
}
.page-guide-modal{
	width: min(620px,calc(100vw - 40px));
}
ip-page-guide-body{
	display: block;
	color: var(--color-text);
	line-height: 1.5;
}
ip-page-guide-body > strong{
	display: block;
	margin-top: 18px;
	font-size: 14px;
}
ip-page-guide-body > strong:first-child{
	margin-top: 0;
}
ip-page-guide-body p{
	margin: 0 0 12px;
}
ip-page-guide-body ul{
	margin: 6px 0 0;
	padding-left: 20px;
}
ip-page-guide-body li + li{
	margin-top: 6px;
}
.page-guides-panel{
	display: grid;
	gap: 16px;
}
ip-page-guide-list{
	display: grid;
	gap: 10px;
}
ip-page-guide-list details{
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-panel);
}
ip-page-guide-list summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 10px 12px;
	cursor: pointer;
	list-style: none;
}
ip-page-guide-list summary::-webkit-details-marker{
	display: none;
}
ip-page-guide-list summary > span{
	display: grid;
	gap: 2px;
	min-width: 0;
}
ip-page-guide-list summary strong{
	color: var(--color-text);
}
ip-page-guide-list summary em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-page-guide-list summary button{
	flex: 0 0 auto;
}
ip-page-guide-preview{
	display: block;
	border-top: 1px solid var(--color-border);
	padding: 12px;
	color: var(--color-text);
	line-height: 1.5;
	white-space: pre-wrap;
}
ip-page-guide-preview em{
	color: var(--color-muted);
}
.page-guide-form{
	margin: 0;
	border-top: 1px solid var(--color-border);
	padding: 14px;
}
.form-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.form-grid .wide,
.form-grid button{
	grid-column: 1 / -1;
}
.api-admin-panel{
	display: grid;
	gap: 18px;
}
ip-admin:not(.is-api-manager) ip-tabs a[href*="tab=api"]{
	display: none;
}
.api-key-create-form{
	padding-bottom: 18px;
	border-bottom: 1px solid var(--color-border);
}
.api-key-form > button{
	justify-self: start;
}
.api-key-form{
	grid-template-columns: 170px 170px auto;
}
.api-key-check{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
}
.api-key-check input{
	width: auto;
	min-height: 0;
	margin: 0;
	flex: 0 0 auto;
}
.api-key-check > span{
	margin: 0;
	min-width: 0;
}
.api-key-expiry-field.is-muted input{
	background: var(--color-secondary-button);
	color: var(--color-muted);
}
.api-key-form-actions{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.api-key-form-actions button{
	grid-column: auto;
}
.api-key-permissions{
	display: grid;
	gap: 8px;
}
ip-api-permission-table{
	display: block;
	overflow-x: auto;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-panel);
}
ip-api-permission-table table{
	width: 100%;
	border-collapse: collapse;
}
ip-api-permission-table th,
ip-api-permission-table td{
	padding: 9px 12px;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
	vertical-align: middle;
}
ip-api-permission-table thead th{
	background: var(--color-bg);
	font-size: 12px;
	font-weight: 600;
}
ip-api-permission-table tbody tr:last-child th,
ip-api-permission-table tbody tr:last-child td{
	border-bottom: none;
}
ip-api-permission-table tbody th{
	font-size: 12px;
	font-weight: 600;
}
ip-api-permission-table td{
	width: 132px;
}
ip-api-permission-table label{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
}
ip-api-permission-table input{
	width: auto;
	min-height: 0;
	margin: 0;
}
ip-api-key-list{
	display: block;
}
ip-api-key-list td{
	vertical-align: middle;
}
.api-key-token-field input{
	font-family: monospace;
}
ip-api-key-token{
	display: flex;
	gap: 8px;
	align-items: center;
}
ip-api-key-token > ip-password-field{
	min-width: 0;
	flex: 1 1 auto;
}
ip-api-key-token button{
	grid-column: auto;
}
ip-api-key-token .copy-button{
	width: 42px;
	height: 42px;
	min-height: 42px;
	border: 1px solid var(--color-control-border);
	border-radius: 8px;
}
ip-api-key-token .copy-button:disabled{
	opacity: .45;
	cursor: not-allowed;
}
ip-api-key-token .copy-button:disabled:hover{
	background: transparent;
	color: #6b7280;
}
ip-api-key-token [data-api-key-token-toggle] ip-icon:last-child{
	display: none;
}
ip-api-key-token [data-api-key-token-toggle].is-revealed ip-icon:first-child{
	display: none;
}
ip-api-key-token [data-api-key-token-toggle].is-revealed ip-icon:last-child{
	display: inline-flex;
}
.api-key-table-actions{
	display: flex;
	align-items: center;
	gap: 8px;
}
.api-key-delete-form{
	margin: 0;
}
ip-api-sync-journal{
	display: block;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
}
ip-api-request-journal{
	display: block;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
}
ip-api-request-journal ip-admin-head{
	margin-bottom: 14px;
}
ip-api-request-journal h3{
	margin: 0;
}
ip-api-request-journal p{
	margin: 4px 0 0;
	color: var(--color-muted);
}
ip-api-sync-journal ip-admin-head{
	margin-bottom: 14px;
}
ip-api-sync-journal h3{
	margin: 0;
}
ip-api-sync-journal p{
	margin: 4px 0 0;
	color: var(--color-muted);
}
ip-api-sync-stats{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 14px;
}
ip-api-sync-stats > div{
	padding: 12px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-panel);
}
ip-api-sync-stats span,
ip-api-sync-stats strong{
	display: block;
}
ip-api-sync-stats span{
	color: var(--color-muted);
	font-size: 12px;
}
ip-api-sync-stats strong{
	margin-top: 4px;
	font-size: 18px;
}
ip-api-sync-stats .is-error strong,
.api-sync-error{
	color: var(--color-danger);
}
.api-sync-table td{
	vertical-align: top;
}
ip-sync-status{
	display: inline-flex;
	padding: 3px 7px;
	border-radius: 4px;
	background: var(--color-secondary-button);
	color: var(--color-text);
	font-size: 12px;
}
ip-sync-status.is-success{
	background: #d9f7e9;
	color: #087b55;
}
ip-sync-status.is-error{
	background: #fee2e2;
	color: #c73535;
}
.api-contract{
	display: block;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
}
.api-contract summary{
	cursor: pointer;
	font-weight: 700;
}
.api-contract p{
	margin: 12px 0;
	color: var(--color-muted);
}
ip-holder-picker-field{
	display: grid;
	grid-template-columns: minmax(0,1fr) auto auto;
	align-items: center;
	gap: 8px;
}
ip-holder-picker-field > span{
	grid-column: 1 / -1;
	color: var(--color-label);
	font-weight: 800;
}
ip-holder-picker-field > b{
	min-height: 38px;
	border: 1px solid var(--color-border);
	border-radius: 7px;
	background: var(--color-panel);
	padding: 9px 11px;
	color: var(--color-muted);
	font-weight: 600;
}
ip-holder-picker-field.is-error > b{
	border-color: #dc2626;
	box-shadow: 0 0 0 2px rgba(220,38,38,.12);
}
ip-holder-picker-field button{
	grid-column: auto;
	height: 38px;
}
ip-modal#holder-modal.is-open{
	z-index: 1200;
}
.holder-picker-modal{
	max-height: calc(100vh - 28px);
	overflow: auto;
}
ip-modal[data-holder-picker-mode="filter"] [data-holder-use-data-row]{
	display: none;
}
ip-holder-picker{
	display: grid;
	gap: 12px;
	margin-top: 12px;
}
ip-holder-picker > input{
	width: 100%;
}
ip-holder-picker-search,
.location-other-field{
	position: relative;
	display: block;
	width: 100%;
}
ip-holder-picker-search input,
.location-other-field input{
	width: 100%;
	padding-right: 34px;
	font-size: 14px;
	font-weight: 400;
}
.search-clear{
	position: absolute;
	top: 50%;
	right: 7px;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #6b7280;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}
.search-clear:hover{
	background: #eef0f3;
	color: #111827;
}
ip-holder-picker.is-loading ip-holder-choice-list,
ip-holder-picker.is-loading ip-holder-picker-pages{
	opacity: .55;
	pointer-events: none;
}
ip-holder-choice-list{
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 10px;
	margin: 0;
}
ip-holder-choice-list button{
	display: grid;
	grid-template-columns: 36px minmax(0,1fr);
	align-items: center;
	gap: 3px 10px;
	width: 100%;
	border: 1px solid var(--color-border);
	border-radius: 7px;
	background: var(--color-panel);
	padding: 10px;
	min-height: 78px;
	text-align: left;
	cursor: pointer;
}
ip-holder-choice-list button:hover{
	border-color: var(--color-accent);
	background: #f6f7f9;
}
ip-holder-choice-list button[hidden]{
	display: none;
}
ip-holder-choice-list b{
	grid-row: 1 / span 4;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: #eef0f3;
	color: #111827;
}
ip-holder-choice-list b ip-icon,
ip-holder-choice-list b svg{
	width: 18px;
	height: 18px;
}
ip-holder-choice-list strong{
	min-width: 0;
	overflow: hidden;
	color: var(--color-text);
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-holder-choice-title{
	display: flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
}
ip-holder-choice-title span{
	color: var(--color-muted);
	font-size: 13px;
	font-weight: 600;
}
ip-holder-choice-title strong{
	color: var(--color-text);
}
ip-holder-choice-list span,
ip-holder-choice-list em,
ip-holder-choice-list small{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-holder-choice-list small{
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-holder-choice-list .holder-choice-phone{
	white-space: nowrap;
}
ip-holder-picker-empty{
	border: 1px dashed var(--color-border);
	border-radius: 8px;
	padding: 14px;
	color: var(--color-muted);
	text-align: center;
}
ip-holder-picker-pages{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
ip-holder-picker-pages button{
	width: 30px;
	height: 30px;
	min-height: 0;
	border: 1px solid var(--color-border);
	border-radius: 7px;
	background: var(--color-panel);
	color: var(--color-text);
	padding: 0;
	cursor: pointer;
}
ip-holder-picker-pages button.is-active{
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: #111827;
}
label[data-holder-field] > span{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.ui-switch{
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 30px;
	height: 16px;
	flex: 0 0 30px;
	margin: 0;
	cursor: pointer;
}
.ui-switch input{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	min-height: 0;
	opacity: 0;
	cursor: pointer;
}
.ui-switch i{
	display: block;
	position: relative;
	width: 30px;
	height: 16px;
	border-radius: 999px;
	background: #cbd5e1;
}
.ui-switch i::after{
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15,23,42,.18);
}
.ui-switch input:checked + i{
	background: var(--color-accent);
}
.ui-switch input:checked + i::after{
	transform: translateX(14px);
}
.holder-readonly-switch{
	margin-left: auto;
}
label.is-holder-readonly input,
label.is-holder-readonly textarea{
	background: #f3f4f6;
	color: #6b7280;
}
label.is-holder-readonly .ui-switch i{
	background: #cbd5e1;
}
label.is-holder-stale input,
label.is-holder-stale textarea{
	border-color: #f59e0b;
	box-shadow: 0 0 0 2px rgba(245,158,11,.15);
}
.form-grid.is-holder-person .holder-country-field{
	grid-column: 1;
}
.form-grid.is-holder-person .holder-city-field{
	grid-column: 2;
}
ip-wizard-body.is-holder-locked > label:not(.postal-same),
ip-wizard-body.is-holder-locked > label.postal-same{
	opacity: .58;
}
ip-wizard-body.is-holder-locked > label input,
ip-wizard-body.is-holder-locked > label select,
ip-wizard-body.is-holder-locked > label textarea{
	background: #f3f4f6;
	cursor: not-allowed;
}
ip-wizard-body.is-holder-locked ip-radio-list label:hover{
	border-color: var(--color-border);
	background: var(--color-panel);
	cursor: not-allowed;
}
ip-wizard-body.is-holder-locked .holder-readonly-switch{
	cursor: not-allowed;
	pointer-events: none;
}
ip-wizard-head,
ip-wizard-foot{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.application-wizard{
	width: min(672px,100%);
	max-width: 100%;
	overflow-x: hidden;
	padding: 20px;
}
ip-wizard-head{
	justify-content: flex-start;
	padding-right: 34px;
}
ip-wizard-head > b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: #111827;
	color: var(--color-accent);
	flex: 0 0 auto;
}
ip-wizard-head > b ip-icon{
	width: 22px;
	height: 22px;
}
ip-wizard-head > span{
	display: grid;
	gap: 3px;
}
ip-wizard-head em{
	color: var(--color-muted);
	font-size: 13px;
	font-style: normal;
}
ip-modal[data-application-code="trademark"] ip-wizard-head > b{
	background: #dce6ff;
	border: 1px solid #abc1ff;
	color: #111827;
}
ip-modal[data-application-code="microscope"] ip-wizard-head > b{
	background: #efe2ff;
	color: #6d28d9;
}
ip-modal[data-application-code="settings-plus"] ip-wizard-head > b{
	background: #fee7d4;
	color: #9a4d10;
}
ip-modal[data-application-code="device-laptop"] ip-wizard-head > b{
	background: #dff4f1;
	color: #0f766e;
}
ip-modal[data-application-code="scan-cube"] ip-wizard-head > b{
	background: #ffe3ef;
	color: #be185d;
}
ip-wizard-steps{
	display: grid;
	grid-template-columns: repeat(5,32px) 1fr;
	align-items: center;
	gap: 14px;
	margin-top: 24px;
}
ip-wizard-steps button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	min-height: 20px;
	border: 0;
	border-radius: 50%;
	background: #eef1f6;
	color: #6b7280;
	padding: 0;
	font-size: 12px;
	font-weight: 600;
}
ip-wizard-steps button.is-done{
	background: #ffe88a;
	color: #111827;
}
ip-wizard-steps button.is-active,
ip-wizard-steps button.is-current{
	background: var(--color-accent);
	color: #111827;
}
ip-wizard-steps button.is-current{
	box-shadow: none;
}
ip-wizard-steps button.is-done{
	opacity: 1;
}
ip-wizard-steps button:disabled{
	cursor: not-allowed;
	opacity: 1;
}
ip-wizard-steps span{
	justify-self: end;
	color: var(--color-muted);
	font-size: 12px;
}
ip-progress{
	display: block;
	height: 4px;
	margin: 4px 0 24px;
	background: #e5e7eb;
}
ip-progress i{
	display: block;
	height: 100%;
	background: var(--color-accent);
}
ip-wizard-body{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	min-width: 0;
	min-height: 450px;
}
ip-wizard-body[hidden]{
	display: none;
}
ip-wizard-body h2,
ip-wizard-body .wide{
	grid-column: 1 / -1;
}
ip-wizard-body h2{
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 0;
}
ip-wizard-body h2 ip-icon{
	width: 20px;
	height: 20px;
}
ip-wizard-body > p{
	grid-column: 1 / -1;
	margin: -8px 0 4px;
	color: var(--color-muted);
}
ip-application-documents,
ip-application-upload-list{
	display: grid;
	gap: 10px;
}
ip-application-doc-upload,
ip-application-other-doc,
ip-application-uploaded{
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: #fff;
	padding: 12px;
}
ip-application-doc-upload.is-required{
	border-color: #f0c400;
}
ip-application-doc-upload span,
ip-application-other-doc,
ip-application-uploaded{
	min-width: 0;
}
ip-application-doc-upload strong,
ip-application-other-doc strong,
ip-application-uploaded strong{
	display: block;
}
ip-application-doc-upload em,
ip-application-other-doc em,
ip-application-uploaded span{
	display: block;
	color: var(--color-muted);
	font-size: 13px;
	font-style: normal;
}
ip-application-doc-upload input,
ip-application-other-doc input{
	max-width: 250px;
}
ip-application-doc-upload small,
ip-application-other-doc small{
	grid-column: 1 / -1;
	color: #0f766e;
}
ip-application-doc-upload .application-upload-button,
ip-application-other-doc .application-upload-button{
	grid-column: 2;
	justify-self: end;
	min-height: 34px;
	padding: 7px 14px;
}
[data-add-application-document]{
	margin-top: 14px;
}
ip-application-doc-actions{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}
ip-application-doc-actions button{
	min-height: 34px;
	padding: 7px 12px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: #fff;
	font-weight: 600;
	cursor: pointer;
}
ip-application-doc-upload .dashed-link{
	grid-column: 1 / -1;
	justify-self: start;
	min-height: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px dashed currentColor;
	border-radius: 0;
	background: transparent;
	color: var(--color-muted);
	font-weight: 400;
	cursor: pointer;
}
ip-application-doc-upload label,
ip-application-other-doc label{
	grid-column: 1 / -1;
}
ip-application-other-doc{
	margin-top: 10px;
}
ip-application-upload-list{
	margin-top: 10px;
}
ip-application-uploaded{
	grid-template-columns: minmax(0,1fr) auto;
}
ip-application-uploaded.is-sorting{
	opacity: .65;
	background: var(--color-panel);
}
ip-application-upload-edit{
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	border-top: 1px solid var(--color-border);
	padding-top: 10px;
}
ip-application-upload-edit[hidden]{
	display: none;
}
ip-application-upload-edit label{
	display: grid;
	gap: 6px;
}
ip-application-upload-edit ip-form-actions{
	display: flex;
	justify-content: flex-end;
	gap: 8px;
}
ip-application-upload-actions{
	display: flex;
	align-items: center;
	gap: 6px;
}
ip-application-upload-actions button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-height: 34px;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
}
ip-application-upload-actions button:hover{
	background: var(--color-panel);
}
ip-application-upload-actions [data-application-upload-sort]{
	cursor: grab;
}
ip-application-uploaded.is-sorting ip-application-upload-actions [data-application-upload-sort]{
	cursor: grabbing;
}
ip-application-upload-actions img{
	width: 17px;
	height: 17px;
}
.file-library-note{
	margin: 10px 0 0;
	color: var(--color-muted);
	font-size: 13px;
}
.file-library-modal{
	width: min(860px, calc(100vw - 24px));
}
.file-library-search{
	position: relative;
	display: block;
	margin: 12px 0;
}
.file-library-search input{
	width: 100%;
	padding-right: 40px;
}
ip-file-library-list{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	min-height: 110px;
}
ip-file-library-list.is-loading{
	opacity: 0.55;
	pointer-events: none;
}
ip-file-library-list ip-empty-state{
	grid-column: 1 / -1;
}
ip-file-library-list button{
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 74px;
	padding: 12px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-panel);
	text-align: left;
	cursor: pointer;
}
ip-file-library-list button:hover{
	border-color: var(--color-accent);
	background: var(--color-bg);
}
ip-file-library-list b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	background: #fff1f1;
	color: #f22f2f;
	font-size: 13px;
	font-weight: 700;
}
ip-file-library-list span{
	display: grid;
	gap: 3px;
	min-width: 0;
}
ip-file-library-list strong,
ip-file-library-list em,
ip-file-library-list small{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-file-library-list strong{
	color: var(--color-text);
}
ip-file-library-list em,
ip-file-library-list small,
ip-file-library-list i{
	color: var(--color-muted);
	font-style: normal;
}
ip-file-library-list i{
	white-space: nowrap;
}
[data-file-library-pages]{
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 12px;
}
[data-file-library-pages] button{
	min-height: 0;
	padding: 5px 9px;
}
[data-file-library-pages]:empty{
	display: none;
}
ip-wizard-body textarea{
	min-height: 82px;
}
ip-radio-list{
	display: grid;
	gap: 8px;
}
ip-radio-list label{
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: #fff;
	padding: 12px 11px;
	cursor: pointer;
}
ip-radio-list label:hover{
	border-color: var(--color-accent);
	background: #f6f7f9;
}
ip-radio-list label:has(input:checked),
ip-radio-list label.is-selected{
	border-color: var(--color-accent);
}
ip-radio-list label:has(input:checked):hover,
ip-radio-list label.is-selected:hover{
	background: #fff;
}
ip-radio-list input{
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 2px solid #c9cdd4;
	border-radius: 50%;
	background: #fff;
	align-self: center;
}
ip-radio-list input:checked{
	border-color: var(--color-accent);
	background: radial-gradient(var(--color-accent) 50%, var(--color-panel) 50%, var(--color-panel));
}
ip-radio-list span{
	margin: 0;
	color: var(--color-text);
	font-weight: 700;
}
ip-wizard-body label.is-required > span:first-child{
	font-weight: 800;
}
ip-wizard-body label.is-muted textarea{
	background: #f3f4f6;
	color: #6b7280;
}
.form-grid label.is-muted input,
.form-grid label.is-muted select,
.form-grid label.is-muted textarea{
	background: #f3f4f6;
	color: #6b7280;
}
ip-wizard-foot{
	position: sticky;
	bottom: -22px;
	margin: 20px -22px -22px;
	background: #fff;
	padding: 14px 22px;
}
ip-wizard-foot button{
	min-width: 104px;
	background: var(--color-accent);
}
ip-wizard-foot button:disabled{
	border-color: #e5e7eb;
	background: #fff;
	color: #c4c8d0;
	cursor: not-allowed;
}
ip-tabs{
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
ip-tabs a,
ip-tabs button{
	display: inline-flex;
	border: 1px solid var(--color-control-border);
	border-radius: 8px;
	background: var(--color-panel);
	color: var(--color-text);
	padding: 9px 14px;
	font-weight: 800;
}
ip-tabs a.is-active,
ip-tabs button.is-active{
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: #111827;
}
.color-settings{
	display: grid;
	grid-template-columns: 230px minmax(0,1fr) minmax(260px,360px);
	gap: 18px;
	align-items: start;
	max-width: 1360px;
	border-radius: 12px;
	padding: 12px;
}
.color-settings-note{
	max-width: 760px;
	margin: -4px 0 22px;
	color: var(--color-muted);
	line-height: 1.5;
}
ip-theme-field{
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2,minmax(0,280px));
	gap: 18px;
	align-items: end;
	max-width: 580px;
}
.theme-auto-field{
	display: block;
}
.theme-auto-switch{
	justify-self: end;
}
ip-theme-field em{
	display: grid;
	grid-template-columns: minmax(0,1fr) 30px;
	gap: 8px 12px;
	align-items: center;
	position: relative;
	font-style: normal;
}
ip-theme-field em[hidden]{
	display: none;
}
ip-theme-field em input[type="time"]{
	grid-column: 1 / -1;
	width: 100%;
}
ip-theme-field em input[readonly]{
	background: var(--color-button-secondary);
	color: var(--color-muted);
	cursor: default;
	pointer-events: none;
}
ip-theme-auto-times{
	display: grid;
	gap: 8px;
}
.color-settings input.has-error{
	border-color: #dc2626;
	box-shadow: 0 0 0 2px rgba(220,38,38,.12);
}
ip-color-tabs,
ip-color-fields{
	display: grid;
	align-content: start;
}
ip-color-tabs{
	border: 1px solid var(--color-border);
	border-radius: 10px;
	overflow: hidden;
}
ip-color-tabs button{
	justify-content: flex-start;
	min-height: 44px;
	border: 0;
	border-bottom: 1px solid var(--color-border);
	border-radius: 0;
	background: #fff;
	padding: 0 14px;
	font-weight: 700;
	text-align: left;
}
ip-color-tabs button:last-child{
	border-bottom: 0;
}
ip-color-tabs button.is-active{
	background: var(--color-accent);
	color: #111;
}
ip-color-group{
	display: none;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: var(--color-panel);
	overflow: hidden;
}
ip-color-group.is-active{
	display: block;
}
ip-color-group h3{
	margin: 0;
	border-bottom: 1px solid var(--color-border);
	padding: 16px 18px;
	font-size: 16px;
}
.color-row{
	display: grid;
	grid-template-columns: 44px minmax(0,1fr) 52px 112px;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid #edf0f4;
	padding: 12px 18px;
}
.color-row:last-child{
	border-bottom: 0;
}
.color-row i{
	display: block;
	width: 36px;
	height: 36px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.color-row span{
	display: grid;
	gap: 3px;
	margin: 0;
}
.color-row strong{
	font-weight: 800;
}
.color-row em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
.color-row input[type="color"]{
	width: 46px;
	height: 36px;
	min-height: 36px;
	padding: 3px;
}
.color-row input[data-color-hex]{
	min-height: 34px;
	padding: 7px 9px;
	text-transform: uppercase;
}
.color-settings[data-theme="day"]{
	--palette-page: #fff;
	--palette-panel: #fff;
	--palette-control: #fff;
	--palette-active: var(--color-accent);
	--palette-tab-active: var(--color-accent);
	--palette-border: var(--color-control-border);
	--palette-row-border: #edf0f4;
	--palette-text: #111827;
	--palette-muted: #667085;
	--palette-input: #fff;
	--palette-input-border: #cfd3dc;
	--palette-button-text: #111;
}
.color-settings[data-theme="dark"]{
	--palette-page: #1d1d1d;
	--palette-panel: #1d1d1d;
	--palette-control: #262626;
	--palette-active: var(--color-accent);
	--palette-tab-active: var(--color-dark-active, #2f3542);
	--palette-border: #343434;
	--palette-row-border: #343434;
	--palette-text: #f5f5f5;
	--palette-muted: #cbd5e1;
	--palette-input: #262626;
	--palette-input-border: #4b5563;
	--palette-button-text: #fff;
}
.color-settings[data-theme]{
	background: var(--palette-page);
	color: var(--palette-text);
}
.color-settings[data-theme] label > span,
.color-settings[data-theme] ip-theme-field label > span{
	color: var(--palette-text);
}
.color-settings[data-theme] ip-color-tabs,
.color-settings[data-theme] ip-color-group,
.color-settings[data-theme] ip-color-preview{
	border-color: var(--palette-border);
	background: var(--palette-panel);
	color: var(--palette-text);
}
.color-settings[data-theme] ip-color-tabs button{
	border-color: var(--palette-row-border);
	background: var(--palette-control);
	color: var(--palette-text);
}
.color-settings[data-theme] ip-color-tabs button.is-active{
	background: var(--palette-tab-active);
	color: var(--palette-text);
}
.color-settings[data-theme="day"] ip-color-tabs button.is-active{
	color: #111;
}
.color-settings[data-theme] ip-color-group h3,
.color-settings[data-theme] .color-row{
	border-color: var(--palette-row-border);
}
.color-settings[data-theme] ip-color-group h3,
.color-settings[data-theme] .color-row strong{
	color: var(--palette-text);
}
.color-settings[data-theme] .color-row em,
.color-settings[data-theme] ip-color-preview strong{
	color: var(--palette-muted);
}
.color-settings[data-theme] .color-row input[data-color-hex],
.color-settings[data-theme] .color-row input[type="color"],
.color-settings[data-theme] ip-theme-field select,
.color-settings[data-theme] ip-theme-field input[type="time"]{
	border-color: var(--palette-input-border);
	background: var(--palette-input);
	color: var(--palette-text);
}
.color-settings[data-theme="day"] .color-row[data-color-theme-row="dark"],
.color-settings[data-theme="dark"] .color-row[data-color-theme-row="day"]{
	display: none;
}
ip-color-preview{
	display: grid;
	grid-column: 2;
	gap: 10px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: var(--color-panel);
	padding: 16px;
}
ip-color-preview strong{
	color: var(--color-muted);
	font-size: 12px;
	text-transform: uppercase;
}
ip-color-preview span{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
ip-color-preview b,
ip-color-preview mark{
	border-radius: 6px;
	background: #eef1f5;
	color: #374151;
	padding: 5px 8px;
	font-size: 12px;
	font-style: normal;
}
ip-color-preview .priority-critical{
	color: #dc2626;
}
ip-color-preview .priority-high{
	color: #d97706;
}
ip-color-preview .priority-low{
	color: #2563eb;
}
ip-color-actions{
	display: grid;
	grid-column: 2 / 4;
	grid-template-columns: auto auto minmax(0,1fr);
	gap: 12px;
}
ip-color-actions button{
	width: 100%;
}
ip-color-actions .button-gray{
	width: auto;
}
.color-settings > button,
ip-color-actions{
	grid-column: 2 / 4;
}
.color-settings[data-theme] > button,
.color-settings[data-theme] ip-color-actions button:not(.button-gray):not(.button-danger){
	border-color: var(--palette-active);
	background: var(--palette-active);
	color: var(--palette-button-text);
}
.color-settings[data-theme] ip-color-actions .button-gray{
	border-color: var(--palette-input-border);
	background: var(--palette-control);
	color: var(--palette-text);
}
.color-settings[data-theme="day"] > button,
.color-settings[data-theme="day"] ip-color-actions button:not(.button-gray):not(.button-danger){
	color: #111;
}
ip-color-page-sample{
	display: block;
	grid-column: 3;
	grid-row: 2 / span 3;
	align-self: stretch;
	border: 1px solid var(--palette-border);
	border-radius: 10px;
	background: var(--palette-page);
	color: var(--palette-text);
	padding: 14px;
	overflow: hidden;
}
ip-theme-field option.is-custom-theme{
	font-style: italic;
}
ip-color-page-sample ip-page-title{
	margin-bottom: 12px;
}
ip-color-page-sample ip-page-title span{
	color: var(--palette-muted);
}
ip-sample-panel{
	display: grid;
	grid-template-columns: 92px minmax(0,1fr);
	min-height: 280px;
	border: 1px solid var(--palette-border);
	border-radius: 10px;
	overflow: hidden;
	background: var(--palette-panel);
}
ip-sample-panel[hidden]{
	display: none;
}
ip-sample-sidebar{
	display: grid;
	align-content: start;
	gap: 10px;
	background: var(--color-sidebar, var(--palette-control));
	padding: 12px 10px;
	font-size: 12px;
}
ip-sample-sidebar b{
	color: var(--palette-text);
}
ip-sample-sidebar span{
	border-radius: 6px;
	background: var(--color-menu-active, var(--palette-tab-active));
	color: var(--palette-text);
	padding: 6px 7px;
}
ip-sample-main{
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 12px;
}
ip-sample-main ip-view-switch{
	justify-self: start;
	transform: scale(.82);
	transform-origin: left top;
}
ip-sample-card{
	display: grid;
	gap: 8px;
	border: 1px solid var(--palette-border);
	border-radius: 8px;
	background: var(--palette-panel);
	padding: 12px;
}
ip-sample-card em{
	color: var(--color-status-pending, var(--palette-muted));
	font-style: normal;
}
ip-sample-card button{
	width: auto;
	justify-self: start;
	background: var(--palette-active);
	color: var(--palette-button-text);
}
ip-sample-row{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
ip-sample-row mark,
ip-sample-row b,
ip-sample-row span{
	border-radius: 7px;
	padding: 6px 8px;
	font-size: 12px;
}
ip-sample-row mark{
	background: color-mix(in srgb, var(--color-status-active, #059669) 18%, transparent);
	color: var(--color-status-active, #059669);
}
ip-sample-row b{
	background: color-mix(in srgb, var(--color-priority-high, #f59e0b) 20%, transparent);
	color: var(--color-priority-high, #f59e0b);
}
ip-sample-row span{
	background: color-mix(in srgb, var(--color-stage-active, #2563eb) 16%, transparent);
	color: var(--color-stage-active, #2563eb);
}
ip-sample-card > span{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
ip-sample-stage{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4px;
}
ip-sample-stage i{
	display: block;
	height: 28px;
	border-radius: 6px;
	background: var(--color-stage-active, #2563eb);
}
ip-sample-stage i:nth-child(2){
	background: var(--color-stage-waiting, #f59e0b);
}
ip-sample-stage i:nth-child(3){
	background: var(--color-stage-overdue, #dc2626);
}
ip-sample-stage i:nth-child(4){
	background: var(--color-stage-done, #16a34a);
}
ip-color-page-sample input{
	max-width: 220px;
}
.gui-sample{
	grid-column: 1 / -1;
}
.gui-sample > ip-view-switch{
	margin-bottom: 2px;
}
ip-gui-sample-grid{
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px;
	align-items: center;
}
ip-gui-sample-grid > strong,
ip-gui-sample-grid > ip-form-alert,
ip-gui-sample-grid > .gui-demo-field{
	grid-column: 1 / -1;
}
.gui-demo-field{
	display: grid;
	gap: 6px;
}
.gui-demo-check{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
}
.gui-demo-arrow{
	justify-self: start;
}
[data-gui-state="hover"] .gui-demo-primary,
[data-gui-state="hover"] .gui-demo-secondary{
	filter: brightness(.96);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--palette-active) 18%, transparent);
}
[data-gui-state="hover"] .gui-demo-field input{
	border-color: var(--palette-active);
}
[data-gui-state="hover"] .gui-demo-switch i,
[data-gui-state="hover"] .gui-demo-arrow{
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--palette-active) 18%, transparent);
}
[data-gui-state="active"] .gui-demo-primary,
[data-gui-state="active"] .gui-demo-secondary{
	transform: translateY(1px);
	filter: brightness(.9);
}
[data-gui-state="active"] .gui-demo-field input{
	border-color: var(--palette-active);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--palette-active) 28%, transparent);
}
[data-gui-state="active"] .gui-demo-check,
[data-gui-state="active"] .gui-demo-switch,
[data-gui-state="active"] .gui-demo-arrow{
	filter: brightness(.92);
}
ip-ui-modal{
	position: fixed;
	inset: 0;
	z-index: 6000;
	display: grid;
	place-items: center;
	background: rgba(0,0,0,.48);
	padding: 20px;
}
ip-ui-dialog{
	position: relative;
	display: grid;
	gap: 14px;
	width: min(460px, 100%);
	border: 1px solid var(--color-control-border);
	border-radius: 12px;
	background: var(--color-panel);
	color: var(--color-text);
	padding: 22px;
	box-shadow: 0 18px 48px rgba(0,0,0,.22);
}
ip-ui-dialog h2{
	margin: 0;
}
ip-ui-dialog p{
	margin: 0;
	color: var(--color-muted);
}
ip-ui-dialog label{
	display: grid;
	gap: 7px;
}
ip-ui-dialog input{
	width: 100%;
}
ip-toast-stack{
	position: fixed;
	z-index: 5000;
	display: grid;
	gap: 12px;
	width: 360px;
	max-width: calc(100vw - 28px);
}
ip-toast-stack[data-position="bottom-right"]{
	right: 20px;
	bottom: 20px;
}
ip-toast-stack[data-position="bottom-left"]{
	left: 20px;
	bottom: 20px;
}
ip-toast-stack[data-position="top-right"]{
	right: 20px;
	top: 20px;
}
ip-toast-stack[data-position="top-left"]{
	left: 20px;
	top: 20px;
}
ip-toast{
	display: block;
	border-radius: 12px;
	background: #111;
	color: #fff;
	padding: 14px;
}
ip-deviation-board{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
ip-deviation-board ip-dashboard-head{
	padding: 14px 18px;
}
ip-deviation-board ip-dashboard-head mark{
	border-radius: 999px;
	background: #dcfce7;
	color: #059669;
	padding: 7px 12px;
	font-size: 12px;
	font-weight: 800;
	font-style: normal;
}
ip-deviation-list{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 12px;
	padding: 14px 16px 16px;
}
ip-deviation-list a{
	display: grid;
	gap: 7px;
	border: 1px solid #d8efe4;
	border-radius: 12px;
	background: #f0fdf7;
	padding: 12px;
	color: #111827;
}
ip-deviation-list a.is-danger{
	border-color: #fecaca;
	background: #fff7f7;
}
ip-deviation-list span,
ip-deviation-list em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-deviation-list strong{
	min-height: 20px;
	font-size: 14px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-deviation-list b{
	justify-self: end;
	border-radius: 999px;
	background: #bbf7d0;
	color: #047857;
	padding: 5px 9px;
}
ip-deviation-list ip-mini-chart svg{
	height: 34px;
}
ip-deviation-list a.is-danger b{
	background: #fee2e2;
	color: #dc2626;
}
ip-registration-card{
	--ui-block-color: #10b981;
	grid-template-columns: 1fr;
	padding: 0;
	overflow: hidden;
}
ip-registration-card.is-danger{
	--ui-block-color: #ef4444;
}
ip-registration-card.is-complete{
	--ui-block-color: #10b981;
}
ip-registration-summary{
	display: grid;
	grid-template-columns: minmax(0,1fr) 150px 28px;
	align-items: start;
	gap: 16px;
	padding: 16px;
	cursor: pointer;
}
ip-registration-summary button{
	min-height: 28px;
	border: 0;
	background: transparent;
	color: var(--color-muted);
	padding: 0;
	font-size: 18px;
}
ip-registration-summary button.ui-arrow{
	border: 1px solid #e5e7eb;
	background: #f8fafc;
	font-size: 0;
}
.is-expanded > ip-registration-summary .ui-arrow{
	border-color: var(--ui-block-color);
	background: color-mix(in srgb, var(--ui-block-color) 12%, #fff);
	color: var(--ui-block-color);
}
ip-registration-card:not(.is-expanded) ip-stage-details,
ip-registration-card:not(.is-expanded) ip-stage-result{
	display: none;
}
ip-stage-area{
	display: grid;
	gap: 12px;
	padding: 0 16px 16px;
}
ip-stage-line{
	grid-column: auto;
	display: flex;
	gap: 3px;
	min-width: 0;
}
ip-stage{
	position: relative;
	display: grid;
	align-content: center;
	gap: 3px;
	flex: 1 1 var(--stage-width, 90px);
	min-height: 58px;
	border-top-width: 0;
	border-radius: 8px;
	background: #6ee7b7;
	color: #064e3b;
	cursor: pointer;
	padding: 7px 22px 7px 8px;
}
ip-stage.is-selected{
	box-shadow: 0 0 0 2px var(--color-accent) inset;
}
ip-stage.is-done{
	background: #6ee7b7;
	border-color: #10b981;
}
ip-stage.by-bureau{
	background: #fef3c7;
	border-color: #f59e0b;
	color: #78350f;
}
ip-stage.by-owner{
	background: #fee2e2;
	border-color: #ef4444;
	color: #7f1d1d;
}
ip-stage.by-rospatent{
	background: #dbeafe;
	border-color: #2563eb;
	color: #172554;
}
ip-stage.is-overdue{
	background: #fee2e2;
	border-color: #ef4444;
}
ip-stage.is-done,
ip-stage.is-done.by-bureau,
ip-stage.is-done.by-owner,
ip-stage.is-done.by-rospatent{
	background: #6ee7b7;
	border-color: #10b981;
	color: #064e3b;
}
ip-stage.is-active,
ip-stage.is-active.by-bureau,
ip-stage.is-active.by-owner,
ip-stage.is-active.by-rospatent{
	background: #dbeafe;
	border-color: #2563eb;
	color: #172554;
}
ip-stage.is-overdue,
ip-stage.is-overdue.by-bureau,
ip-stage.is-overdue.by-owner,
ip-stage.is-overdue.by-rospatent{
	background: #fee2e2;
	border-color: #ef4444;
	color: #7f1d1d;
}
ip-stage b{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-stage span,
ip-stage em{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-stage .stage-info{
	position: absolute;
	right: 5px;
	top: 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	min-height: 16px;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: rgba(255,255,255,.42);
	color: inherit;
	padding: 0;
	font-size: 12px;
	font-weight: 800;
}
ip-stage .stage-info span{
	z-index: 5;
	width: max-content;
	max-width: 260px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: #111827;
	color: #fff;
	padding: 8px 10px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	white-space: normal;
	overflow: visible;
	text-align: left;
	text-overflow: clip;
	box-shadow: 0 12px 30px rgba(0,0,0,.22);
	pointer-events: none;
}
ip-stage-route{
	display: none;
	flex-wrap: wrap;
	gap: 8px;
}
ip-stage-route button{
	min-height: 26px;
	border: 0;
	background: transparent;
	color: #047857;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
}
ip-stage-route button.is-selected{
	color: #111827;
	text-decoration: underline;
	text-decoration-color: var(--color-accent);
	text-decoration-thickness: 2px;
}
ip-stage-route span{
	color: var(--color-muted);
	font-weight: 400;
}
ip-stage-details{
	display: grid;
	gap: 8px;
	border-top: 1px solid #c7f0d9;
	padding-top: 12px;
}
ip-stage-detail{
	--ui-stage-color: #64748b;
	display: block;
	border: 1px solid #d8f3e4;
	border-radius: 9px;
	background: rgba(255,255,255,.48);
	overflow: hidden;
}
ip-stage-detail.by-bureau{
	--ui-stage-color: #d97706;
}
ip-stage-detail.by-owner{
	--ui-stage-color: #ef4444;
}
ip-stage-detail.by-rospatent{
	--ui-stage-color: #2563eb;
}
ip-stage-detail.is-done,
ip-stage-detail.is-done.by-bureau,
ip-stage-detail.is-done.by-owner,
ip-stage-detail.is-done.by-rospatent{
	--ui-stage-color: #10b981;
}
ip-stage-detail.is-active,
ip-stage-detail.is-active.by-bureau,
ip-stage-detail.is-active.by-owner,
ip-stage-detail.is-active.by-rospatent{
	--ui-stage-color: #2563eb;
}
ip-stage-detail.is-overdue,
ip-stage-detail.is-overdue.by-bureau,
ip-stage-detail.is-overdue.by-owner,
ip-stage-detail.is-overdue.by-rospatent{
	--ui-stage-color: #ef4444;
}
ip-stage-detail-head{
	display: grid;
	grid-template-columns: 18px auto minmax(0,1fr) auto auto 28px;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	cursor: pointer;
}
ip-stage-detail-head b{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ip-stage-detail-head span,
ip-stage-detail-head em{
	color: var(--color-muted);
	font-style: normal;
}
ip-stage-detail-head button{
	min-height: 24px;
	border: 0;
	background: transparent;
	color: var(--color-muted);
	padding: 0;
}
ip-stage-detail-head button.ui-arrow{
	width: 24px;
	height: 24px;
	min-height: 24px;
	border: 1px solid #e5e7eb;
	background: #f8fafc;
	color: var(--ui-stage-color);
}
ip-stage-detail.is-open ip-stage-detail-head button.ui-arrow{
	border-color: var(--ui-stage-color);
	background: color-mix(in srgb, var(--ui-stage-color) 12%, #fff);
	color: var(--ui-stage-color);
}
ip-stage-detail-body{
	display: none;
	gap: 12px;
	border-top: 1px solid #e5e7eb;
	background: rgba(255,255,255,.55);
	padding: 12px;
}
ip-stage-detail.is-open ip-stage-detail-body{
	display: grid;
}
ip-stage-detail-body p{
	margin: 0;
	line-height: 1.45;
}
ip-stage-metrics{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
ip-stage-metrics span{
	display: grid;
	gap: 6px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: #fff;
	padding: 12px;
}
ip-stage-metrics em{
	color: #4b6288;
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
	text-transform: uppercase;
}
ip-stage-metrics strong{
	color: #174a8b;
	font-size: 18px;
}
ip-stage-detail-body mark{
	border: 1px solid #facc15;
	border-radius: 8px;
	background: #fef9c3;
	padding: 10px;
	color: #111827;
}
ip-stage-result{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid #8ee6bd;
	border-radius: 10px;
	background: rgba(255,255,255,.58);
	padding: 10px 12px;
}
ip-stage-result strong{
	color: #047857;
}
ip-stage-result span{
	color: var(--color-muted);
}
ip-stage-result mark{
	border-radius: 6px;
	background: #bbf7d0;
	color: #047857;
	padding: 5px 8px;
	font-weight: 800;
}
ip-stage-result.is-danger{
	border-color: #ff8f8f;
	background: #fff7f7;
}
ip-stage-result.is-danger strong{
	color: #dc2626;
}
ip-stage-result.is-danger mark{
	border: 1px solid #ff8f8f;
	background: #fff;
	color: #dc2626;
}
ip-card-foot{
	margin: 0 16px 16px;
}
.dashboard-list-panel{
	margin-bottom: 0;
}
.dashboard-list-panel ip-mini-list{
	display: grid;
	gap: 10px;
}
.dashboard-list-panel ip-mini-list a{
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 8px;
	border-bottom: 1px solid #edf0f4;
	padding-bottom: 10px;
}
.dashboard-list-panel ip-mini-list a:last-child{
	border-bottom: 0;
	padding-bottom: 0;
}
.dashboard-list-panel ip-mini-list a strong{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.dashboard-list-panel ip-mini-list a span,
.dashboard-list-panel ip-mini-list a em{
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
ip-task-board{
	display: grid;
	gap: 16px;
}
ip-chip-row.task-status-tabs{
	margin-top: 0;
	justify-content: flex-start;
}
ip-chip-row.task-status-tabs a{
	min-height: 38px;
	border-color: var(--color-border);
	background: #fff;
	color: #5f6673;
	padding: 0 17px;
	text-transform: none;
}
ip-chip-row.task-status-tabs a.is-active{
	background: #111;
	color: #fff;
}
ip-filter-panel.task-filter-panel{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border: 0;
	background: transparent;
	padding: 0 4px;
}
ip-filter-panel.task-filter-panel form{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	width: 100%;
}
ip-filter-panel.task-filter-panel select{
	width: 160px;
}
ip-filter-panel.task-filter-panel button{
	display: none;
}
ip-filter-panel.task-filter-panel .task-add-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	border-radius: 7px;
	background: var(--color-accent);
	color: #111;
	padding: 0 14px;
	font-weight: 800;
}
ip-filter-panel.task-filter-panel em{
	margin-left: auto;
	color: var(--color-muted);
	font-style: normal;
}
ip-task-list{
	gap: 10px;
}
ip-task-card{
	grid-template-columns: 26px minmax(0,1fr) 132px;
	align-items: start;
	gap: 12px;
	min-height: 116px;
	border-color: #e1e4e8;
	border-radius: 12px;
	background: #fff;
	padding: 18px 16px;
}
.task-check{
	position: relative;
	display: inline-flex;
	width: 22px;
	height: 22px;
	margin-top: 1px;
}
.task-check input{
	position: absolute;
	inset: 0;
	opacity: 0;
}
.task-check span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 2px solid #8a8f98;
	border-radius: 4px;
	background: #fff;
}
.task-check input:checked + span{
	border-color: #5b626b;
	background: #5b626b;
	color: #fff;
}
.task-check input:checked + span::after{
	content: "✓";
	font-size: 13px;
	font-weight: 900;
}
.task-check.is-work span{
	border-color: #3b82f6;
	background: #fff;
}
.task-check.is-work span::after{
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #3b82f6;
}
ip-task-tags{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 7px;
}
ip-task-card ip-badge{
	min-height: 20px;
	margin: 0;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .02em;
	text-transform: none;
}
ip-task-card ip-badge.is-info{
	background: #dbeafe;
	color: #2563eb;
}
ip-task-body strong{
	display: block;
	margin: 0 0 6px;
	font-size: 15px;
}
ip-task-body strong a{
	color: inherit;
	text-decoration: none;
}
.task-title-link{
	margin-left: -6px;
}
.task-title-link a{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 6px;
	color: #111827;
	padding: 0;
}
.task-title-link a:hover span{
	text-decoration: none;
}
.task-open-arrow{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 5px;
	color: #6b7280;
	font-size: 16px;
	font-style: normal;
	line-height: 1;
}
.task-title-link a:hover .task-open-arrow,
.task-open-arrow:hover{
	background: #eef0f4;
	color: #111827;
}
ip-task-body em{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-top: 8px;
	font-size: 12px;
}
ip-task-body em{
	color: #8a909b;
}
ip-task-body em span,
ip-task-body em a{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	line-height: 1.2;
}
ip-task-body em ip-icon{
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	align-self: center;
	color: #8a909b;
	transform: translateY(-1px);
}
ip-task-body em ip-icon svg{
	display: block;
	width: 100%;
	height: 100%;
}
ip-task-body em a{
	color: #111827;
	text-decoration: none;
}
.task-overdue{
	color: #ef4444;
}
.task-date.is-overdue{
	color: #ef4444;
}
.task-date.is-overdue ip-icon{
	color: #ef4444;
}
.task-overdue::before{
	content: "\00b7";
	margin-right: 4px;
	color: #ef4444;
}
.task-object-link:hover{
	text-decoration: underline;
	text-underline-offset: 3px;
}
.task-object-link ip-icon{
	width: 13px;
	height: 13px;
	flex-basis: 13px;
	color: currentColor;
	transform: translateY(0);
}
.task-object-link.is-muted{
	color: #8a909b;
}
ip-task-card.is-done{
	opacity: .64;
	background: #fafafa;
}
ip-task-card.is-done ip-task-body strong{
	text-decoration: line-through;
}
ip-task-card form{
	justify-self: end;
}
.task-status-select{
	min-height: 30px;
	min-width: 116px;
	border-radius: 6px;
	padding: 5px 28px 5px 10px;
	font-size: 12px;
}
ip-task-detail{
	display: grid;
	gap: 18px;
	max-width: 1080px;
}
.task-edit-form{
	display: grid;
	gap: 18px;
}
ip-task-detail-head{
	display: grid;
	grid-template-columns: 28px 1fr;
	column-gap: 14px;
	align-items: start;
}
ip-task-detail-head ip-task-tags,
ip-task-detail-head h2,
ip-task-detail-head p,
.task-edit-title,
.task-edit-description{
	grid-column: 2;
	margin: 0;
}
ip-task-detail-head h2{
	margin-top: 8px;
	font-size: 24px;
}
ip-task-detail-head p{
	margin-top: 4px;
	color: var(--color-muted);
}
.task-edit-title,
.task-edit-description,
.task-edit-fields label{
	display: grid;
	gap: 5px;
}
.task-edit-title{
	margin-top: 8px;
}
.task-edit-description{
	margin-top: 10px;
}
.task-edit-title span,
.task-edit-description span,
.task-edit-fields label span{
	color: var(--color-muted);
	font-size: 12px;
}
.task-edit-title input,
.task-edit-description textarea,
.task-edit-fields input,
.task-edit-fields select{
	width: 100%;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--color-text);
	font: inherit;
}
.task-edit-title input{
	padding: 3px 6px;
	font-size: 24px;
	font-weight: 800;
}
.task-edit-description textarea{
	min-height: 42px;
	resize: vertical;
	padding: 3px 6px;
	color: var(--color-muted);
}
.task-edit-fields input,
.task-edit-fields select{
	min-height: 34px;
	padding: 5px 8px;
	font-weight: 700;
}
.task-edit-title input:hover,
.task-edit-title input:focus,
.task-edit-description textarea:hover,
.task-edit-description textarea:focus,
.task-edit-fields input:hover,
.task-edit-fields input:focus,
.task-edit-fields select:hover,
.task-edit-fields select:focus{
	border-color: #cfd6e3;
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .08);
}
.task-edit-fields input[readonly]{
	color: var(--color-muted);
}
ip-object-panel.object-edit-panel{
	display: grid;
	gap: 18px;
}
.object-edit-title,
.object-edit-description{
	grid-column: auto;
}
.object-edit-description textarea{
	min-height: 72px;
}
.object-edit-fields{
	margin-top: 4px;
}
ip-object-panel.task-detail-panel{
	display: grid;
	gap: 20px;
}
ip-task-detail-actions{
	display: flex;
	justify-content: flex-end;
	border-top: 1px solid #e5e7eb;
	padding-top: 16px;
}
ip-task-detail-actions form{
	display: flex;
	align-items: center;
	gap: 10px;
}
ip-task-detail-actions button{
	min-height: 34px;
	border-radius: 6px;
	padding: 0 14px;
}
ip-task-comments{
	display: grid;
	gap: 12px;
	border-top: 1px solid #e5e7eb;
	padding-top: 16px;
}
ip-task-comments h3{
	margin: 0;
	font-size: 16px;
}
ip-task-comment{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fafafa;
	padding: 12px;
}
ip-task-comment b{
	font-size: 13px;
}
ip-task-comment span{
	color: var(--color-muted);
	font-size: 12px;
}
ip-task-comment p{
	grid-column: 1 / -1;
	margin: 0;
	color: #4b5563;
}
ip-task-comment.is-system{
	background: #f6f7fb;
}
ip-task-comments form{
	display: grid;
	gap: 10px;
}
ip-task-comments textarea{
	min-height: 82px;
}
ip-task-comments form button{
	justify-self: end;
	min-height: 34px;
	border-radius: 6px;
	padding: 0 14px;
}
ip-chat-messages{
	display: grid;
	gap: 10px;
	margin-bottom: 14px;
}
ip-chat-message{
	display: grid;
	gap: 5px;
	max-width: 720px;
	border-radius: 12px;
	background: #f1f5f9;
	padding: 12px;
}
ip-chat-message.is-answer{
	justify-self: end;
	background: var(--color-accent);
	color: #111;
}
.alert,
.success-box{
	border-radius: 10px;
	padding: 12px;
	margin-bottom: 14px;
}
.alert{
	background: #fee2e2;
	color: #991b1b;
}
.alert.success{
	background: #dcfce7;
	color: #166534;
}
.success-box{
	background: #dcfce7;
	color: #166534;
}
@media (max-width: 1200px){
	ip-topbar{
		grid-template-columns: 1fr;
		padding: 12px;
	}
	ip-dashboard-analytics{
		grid-template-columns: 1fr;
	}
	ip-pro-kpis{
		grid-template-columns: repeat(3,1fr);
	}
	ip-pro-grid,
	ip-pro-grid.is-secondary{
		grid-template-columns: 1fr;
	}
	ip-deviation-list{
		grid-template-columns: 1fr 1fr;
	}
	ip-widget-grid,
	ip-dashboard-summary,
	ip-application-types{
		grid-template-columns: 1fr 1fr;
	}
	.color-settings{
		grid-template-columns: 220px minmax(0,1fr);
	}
	ip-color-page-sample{
		grid-column: 2;
		grid-row: auto;
	}
	ip-color-actions{
		grid-column: 2;
	}
}
@media (max-width: 760px){
	ip-app{
		grid-template-columns: 1fr;
	}
	ip-sidebar{
		position: static;
		height: auto;
	}
	ip-widget-grid,
	ip-dashboard-summary,
	ip-pro-kpis,
	ip-grid-two,
	ip-chart-grid,
	ip-application-types,
	.form-grid,
	.color-settings{
		grid-template-columns: 1fr;
	}
	ip-color-preview,
	ip-color-actions,
	ip-color-page-sample,
	.color-settings > button{
		grid-column: 1;
	}
	ip-fee-card,
	ip-task-card,
	ip-registration-card,
	ip-document-row{
		grid-template-columns: 1fr;
	}
	ip-registration-summary,
	ip-stage-detail{
		grid-template-columns: 1fr;
	}
	ip-stage-line,
	ip-stage-route{
		display: grid;
	}
	ip-deviation-list{
		grid-template-columns: 1fr;
	}
	ip-dashboard-head{
		display: grid;
	}
	ip-registration-status{
		justify-content: flex-start;
		text-align: left;
	}
}
ip-stage-admin-list{
	display: grid;
	width: 100%;
	box-sizing: border-box;
	gap: 16px;
}
ip-stage-create{
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 16px 0;
	border: 1px solid var(--color-line);
	border-radius: 10px;
	background: var(--color-panel);
}
ip-stage-create > header{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px;
	width: 100%;
	box-sizing: border-box;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
}
ip-stage-create > header > button{
	justify-self: end;
}
ip-stage-create > header span{
	display: grid;
	gap: 3px;
	min-width: 0;
	font-size: 12px;
}
ip-stage-create > header strong{
	font-size: 14px;
}
ip-stage-create > header em{
	color: var(--color-muted);
	font-style: normal;
}
.stage-create-modal ip-modal-window{
	width: min(1180px, calc(100vw - 32px));
	max-width: 1180px;
}
.stage-create-modal ip-modal-window > h2{
	margin: 0;
}
.stage-create-modal ip-modal-window > p{
	margin: 6px 0 0;
	color: var(--color-muted);
}
.stage-admin-row{
	border: 1px solid var(--color-line);
	border-radius: 12px;
	background: var(--color-panel);
	overflow: hidden;
}
.stage-admin-row header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
}
.stage-admin-list-heading{
	display: grid;
	gap: 5px;
	min-width: 0;
}
.stage-admin-row header .stage-admin-list-heading > span{
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	min-width: 0;
}
.stage-admin-row header strong{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border-radius: 7px;
	background: var(--color-button-secondary);
	color: var(--color-text);
	padding: 0 10px;
	font-family: monospace;
	font-size: 13px;
	font-weight: 700;
}
.stage-admin-row header em{
	min-width: 0;
	color: var(--color-text);
	font-style: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.stage-admin-list-details{
	display: flex;
	flex-wrap: wrap;
	gap: 5px 12px;
	color: var(--color-muted);
	font-size: 12px;
}
.stage-admin-list-details b,
.stage-admin-list-details em{
	color: var(--color-muted);
	font-style: normal;
	font-weight: 400;
	white-space: nowrap;
}
.stage-admin-table-wrap{
	width: 100%;
	box-sizing: border-box;
	margin-top: 14px;
	border: 1px solid var(--color-line);
	border-radius: 10px;
	background: var(--color-panel);
}
.stage-admin-table{
	width: 100%;
	min-width: 900px;
	border-collapse: collapse;
	table-layout: fixed;
}
.stage-admin-table th{
	padding: 11px 12px;
	border-bottom: 1px solid var(--color-line);
	color: var(--color-muted);
	font-size: 12px;
	font-weight: 400;
	text-align: left;
	vertical-align: middle;
}
.stage-admin-table th:nth-child(1){
	width: 190px;
	white-space: nowrap;
}
.stage-admin-table th:nth-child(2){
	width: auto;
}
.stage-admin-table th:nth-child(3){
	width: 180px;
}
.stage-admin-table th:nth-child(4),
.stage-admin-table th:nth-child(5){
	width: 140px;
}
.stage-admin-table th:last-child{
	width: 170px;
	padding-right: 16px;
}
.stage-admin-table th:first-child{
	padding-left: 16px;
}
.stage-admin-table th button{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: inherit;
}
.stage-admin-table th button:hover{
	color: var(--color-text);
}
.stage-admin-table .portfolio-column-title{
	font-size: 12px;
	font-weight: 400;
	text-transform: none;
}
.stage-admin-table th[data-sort-direction="asc"] .portfolio-column-title i:before,
.stage-admin-table th[data-sort-direction="desc"] .portfolio-column-title i:after{
	opacity: 1;
}
.stage-admin-table td{
	padding: 12px;
	border-bottom: 1px solid var(--color-line);
	vertical-align: middle;
}
.stage-admin-table td:last-child{
	padding-right: 16px;
}
.stage-admin-table .stage-admin-row > td:first-child{
	padding-left: 16px;
	white-space: nowrap;
}
.stage-admin-table tbody > tr:last-child > td{
	border-bottom: 0;
}
.stage-admin-table td strong{
	display: inline-flex;
	max-width: none;
	box-sizing: border-box;
	min-height: 28px;
	align-items: center;
	border-radius: 7px;
	padding: 0 9px;
	background: var(--color-button-secondary);
	font-family: monospace;
	font-size: 13px;
	font-weight: 700;
}
.stage-admin-table td em{
	display: block;
	overflow: hidden;
	color: var(--color-text);
	font-style: normal;
	text-overflow: ellipsis;
	white-space: normal;
	line-height: 1.35;
}
.stage-admin-table .stage-admin-actions{
	text-align: right;
	white-space: nowrap;
}
.stage-admin-editor-row > td{
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	background: var(--color-panel);
}
.stage-admin-editor-row .stage-admin-form{
	display: block;
	width: 100%;
	box-sizing: border-box;
	border-top: 0;
}
.stage-admin-editor-row .stage-admin-form > button{
	display: block;
	margin: 14px 0 0 auto;
}
.stage-admin-form textarea,
.stage-admin-form input,
.stage-admin-form select{
	width: 100%;
}
.stage-admin-form{
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 16px 0 16px 16px;
	border-top: 1px solid var(--color-line);
	background: var(--color-panel);
}
.stage-create-modal .stage-admin-form{
	margin-top: 15px;
	padding: 0;
}
.stage-admin-form label{
	display: grid;
	gap: 6px;
	color: var(--color-muted);
	font-size: 12px;
	line-height: 1.3;
}
.stage-admin-form label span{
	font-weight: 400;
}
.stage-admin-form label.is-required > span{
	color: var(--color-text);
	font-weight: 700;
}
.stage-admin-process{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}
.stage-admin-row .stage-admin-form{
	display: block;
}
.stage-admin-layout{
	display: grid;
	width: 100%;
	box-sizing: border-box;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	align-items: start;
	gap: 14px 16px;
}
.stage-admin-main{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
	min-width: 0;
}
.stage-admin-sidebar{
	grid-column: 1;
	grid-row: 1;
	display: grid;
	align-content: start;
	gap: 10px;
	min-width: 0;
}
.stage-admin-details{
	grid-column: 2;
	grid-row: 1;
}
.stage-admin-group{
	grid-column: 1 / -1;
	display: grid;
	width: 100%;
	box-sizing: border-box;
	gap: 12px;
	min-width: 0;
	border: 1px solid var(--color-line);
	border-radius: 8px;
	padding: 14px;
	background: var(--color-button-secondary);
}
.stage-admin-group h3{
	margin: 0;
	font-size: 14px;
}
.stage-admin-group-heading{
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}
.stage-admin-group-help-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	min-height: 0;
	border: 1px solid var(--color-line);
	border-radius: 50%;
	background: var(--color-panel);
	color: var(--color-muted);
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.stage-admin-group-help-button:hover{
	border-color: var(--color-accent);
	color: var(--color-text);
}
.stage-admin-group-help-popover{
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 35;
	width: min(320px, calc(100vw - 48px));
	border-radius: 8px;
	background: #111827;
	box-shadow: 0 8px 22px rgba(0,0,0,.22);
	color: #fff;
	padding: 12px;
	font-size: 12px;
	line-height: 1.4;
}
.stage-admin-group-help-popover p{
	margin: 0;
}
.stage-admin-guide-switch{
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px !important;
	margin-top: 12px;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 600;
}
.stage-admin-guide-switch > span:first-child{
	color: #fff !important;
	font-weight: 600 !important;
}
.stage-admin-guide-switch .ui-switch{
	flex: 0 0 30px;
}
.stage-admin-guide{
	display: none;
	margin: 0;
	color: var(--color-muted);
	font-size: 12px;
	line-height: 1.45;
}
.stage-admin-form.is-stage-field-hints .stage-admin-guide{
	display: block;
}
.stage-admin-core-fields{
	display: grid;
	gap: 12px;
}
.stage-admin-form label em{
	display: none;
	color: var(--color-muted);
	font-size: 12px;
	font-style: normal;
}
.stage-admin-form.is-stage-field-hints label em{
	display: block;
}
.stage-admin-group .stage-admin-process,
.stage-admin-group .stage-admin-notes,
.stage-admin-group .stage-admin-flags{
	grid-column: auto;
}
.stage-admin-main .stage-admin-process,
.stage-admin-main .stage-admin-notes,
.stage-admin-main .stage-admin-flags{
	grid-column: 1 / -1;
}
.stage-admin-row .stage-admin-form > button{
	display: block;
	margin: 14px 0 0 auto;
}
.stage-admin-notes{
	grid-column: 1 / 3;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}
.stage-admin-flags{
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.stage-admin-flags .checkbox-label{
	display: inline-flex;
	width: auto;
	min-height: 34px;
	border: 1px solid var(--color-line);
	border-radius: 8px;
	padding: 0 12px;
	background: var(--color-button-secondary);
}
.stage-admin-form > button{
	display: block;
	margin: 14px 0 0 auto;
	min-width: 160px;
}
.stage-admin-create-form{
	border-top: 0;
}
.stage-admin-form label textarea{
	min-height: 86px;
	resize: vertical;
}
ip-stage-route-audit{
	display: grid;
	gap: 12px;
	margin: 16px 0;
	border: 1px solid var(--color-line);
	border-radius: 10px;
	padding: 14px;
	background: var(--color-panel);
}
ip-stage-route-audit > header span{
	display: grid;
	gap: 4px;
}
ip-stage-route-audit > header em{
	color: var(--color-muted);
	font-style: normal;
}
ip-stage-route-audit-list{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	column-gap: 10px;
	row-gap: 20px;
}
@media (max-width: 900px){
	ip-stage-route-audit-list{
		grid-template-columns: 1fr;
	}
}
ip-stage-route-audit-list article{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	height: 100%;
	border: 1px solid var(--color-line);
	border-left: 3px solid var(--color-success);
	border-radius: 8px;
	padding: 10px;
}
ip-stage-route-audit-list article.is-warning{
	border-left-color: var(--color-warning);
}
ip-stage-route-audit-list article.is-error{
	border-left-color: var(--color-danger);
}
.stage-route-create-card{
	justify-content: flex-start;
	min-height: 100%;
	border-style: dashed;
	border-left-color: var(--color-line);
	background: var(--color-button-secondary);
	text-align: left;
}
.stage-route-create-card strong{
	font-size: 14px;
}
.stage-route-create-card p{
	margin: 0;
	color: var(--color-muted);
	font-size: 12px;
	line-height: 1.35;
}
.stage-route-create-card button{
	margin-top: 4px;
}
.stage-route-create-form{
	margin-top: auto;
}
ip-stage-route-audit-list article header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
ip-stage-route-audit-list article header span{
	margin-left: auto;
	color: var(--color-muted);
	font-size: 12px;
}
.stage-route-delete-button{
	width: auto;
	min-height: 30px;
	padding: 5px 10px;
	white-space: nowrap;
}
.stage-route-actions{
	display: grid;
	margin-top: 0;
}
.stage-route-actions .stage-route-delete-button{
	width: 100%;
}
ip-stage-route-audit-chain{
	display: grid;
	align-items: start;
	gap: 6px;
}
ip-stage-route-audit-chain span{
	display: flex;
	align-items: center;
	width: 100%;
	gap: 10px;
	border-radius: 5px;
	padding: 4px 6px;
	background: var(--color-button-secondary);
	font-size: 12px;
	cursor: grab;
	touch-action: none;
}
ip-stage-route-audit-chain span.is-sorting{
	opacity: .55;
	cursor: grabbing;
}
ip-stage-route-audit-chain b{
	display: block;
	flex: 0 0 var(--stage-route-code-width, auto);
	box-sizing: content-box;
	width: var(--stage-route-code-width, auto);
	min-width: max-content;
	padding-right: 6px;
	font-family: monospace;
	font-weight: 600;
	white-space: nowrap;
}
ip-stage-route-audit-chain em{
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	font-style: normal;
	line-height: 1.15;
	overflow-wrap: anywhere;
}
.stage-route-remove{
	display: inline-flex;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-height: 22px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--color-muted);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	padding: 0;
	cursor: pointer;
}
.stage-route-remove:hover{
	background: #fee2e2;
	color: var(--color-danger);
}
ip-stage-route-undo{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 8px;
	padding: 8px 10px;
	border: 1px solid var(--color-warning);
	border-radius: 6px;
	background: var(--color-warning-soft);
	color: var(--color-text);
	font-size: 12px;
}
ip-stage-route-undo button{
	width: auto;
	min-height: 28px;
	padding: 4px 10px;
	white-space: nowrap;
}
.stage-route-undo-actions{
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.stage-route-undo-remove{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-height: 28px;
	padding: 0;
	border: 1px solid var(--color-danger);
	border-radius: 5px;
	background: transparent;
	color: var(--color-danger);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}
.stage-route-undo-remove:hover{
	background: #fee2e2;
}
ip-stage-route-audit-chain.is-pending-delete{
	pointer-events: none;
	opacity: .7;
}
ip-stage-route-audit-list p{
	margin: 0;
	font-size: 12px;
}
ip-stage-route-audit-list p.is-error{
	color: var(--color-danger);
}
ip-stage-route-audit-list p.is-warning{
	color: var(--color-warning);
}
.stage-route-add-form{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 8px;
	margin: auto 0 0;
}
.stage-route-add-form label{
	display: grid;
	gap: 5px;
	margin-top: 5px;
	color: var(--color-muted);
	font-size: 12px;
}
.stage-route-add-form select{
	width: 100%;
}
.stage-route-add-form button{
	width: 100%;
	white-space: nowrap;
}
.stage-admin-row textarea:focus,
.stage-admin-row input:focus,
.stage-admin-row select:focus{
	border-color: var(--color-accent);
	outline: none;
}
.admin-tools{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: start;
	margin-bottom: 16px;
}
.admin-tools > .button{
	width: auto;
	min-width: 190px;
}
@media (max-width: 900px){
	.stage-admin-notes,
	.stage-admin-process{
		grid-template-columns: 1fr;
	}
	.stage-admin-notes{
		display: grid;
		gap: 12px;
	}
	.stage-admin-notes{
		grid-column: 1;
	}
	.stage-admin-layout,
	.stage-admin-main{
		grid-template-columns: 1fr;
	}
	.stage-admin-sidebar,
	.stage-admin-details{
		grid-column: 1;
		grid-row: auto;
	}
	ip-stage-create > header{
		align-items: stretch;
		flex-direction: column;
		grid-template-columns: 1fr;
	}
	ip-stage-create > header > button{
		justify-self: start;
	}
	.stage-admin-row header,
	.stage-admin-row header span{
		grid-template-columns: 1fr;
	}
	.stage-admin-row header{
		display: grid;
	}
	.stage-admin-form > button{
		justify-self: stretch;
	}
	.stage-admin-row label{
		grid-column: auto;
		grid-row: auto;
	}
	.admin-tools{
		display: grid;
		grid-template-columns: 1fr;
	}
}
ip-app[data-sidebar="mini"]{
	grid-template-columns: 72px 1fr;
}
ip-sidebar{
	grid-template-rows: auto auto 1fr auto auto auto;
}
ip-brand{
	justify-content: space-between;
}
.brand-button{
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 0;
	border: 0;
	background: transparent;
	color: #111;
	padding: 0;
	font: inherit;
	text-align: left;
}
.brand-button:hover{
	background: transparent;
	color: #111;
}
.sidebar-collapse-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-height: 28px;
	border: 0;
	background: transparent;
	color: #8b8f99;
	padding: 0;
	font-size: 20px;
	font-weight: 400;
}
.sidebar-collapse-button:hover{
	background: #f3f4f6;
	color: #111;
}
.sidebar-expand-button{
	display: none;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-height: 34px;
	border: 0;
	border-radius: 8px;
	background: #1d1d1d;
	color: var(--color-accent);
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}
.sidebar-expand-button:hover{
	background: var(--color-accent);
	color: #111;
}
ip-app[data-sidebar="mini"] ip-sidebar{
	align-items: center;
	gap: 10px;
	background: #111;
	border-right-color: #252525;
	z-index: 5000;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 8px;
}
ip-app[data-sidebar="mini"] ip-sidebar::-webkit-scrollbar{
	display: none;
}
ip-app[data-sidebar="mini"] ip-brand{
	justify-content: center;
	border-bottom: 0;
	padding: 8px 0 4px;
}
ip-app[data-sidebar="mini"] ip-holder-menu,
ip-app[data-sidebar="mini"] ip-nav{
	width: 100%;
	justify-items: center;
}
ip-app[data-sidebar="mini"] .brand-button{
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: 0;
	border-radius: 8px;
	background: var(--color-accent);
}
ip-app[data-sidebar="mini"] .brand-button b{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: transparent;
}
ip-app[data-sidebar="mini"] .brand-button ip-brand-logo,
ip-app[data-sidebar="mini"] .brand-button svg{
	display: block;
	margin: auto;
}
ip-app[data-sidebar="mini"] .brand-button span,
ip-app[data-sidebar="mini"] .sidebar-collapse-button,
ip-app[data-sidebar="mini"] ip-holder-menu label,
ip-app[data-sidebar="mini"] ip-nav label,
ip-app[data-sidebar="mini"] ip-nav a span,
ip-app[data-sidebar="mini"] .manager-card span{
	display: none;
}
ip-app[data-sidebar="mini"] ip-holder-menu{
	position: relative;
}
ip-app[data-sidebar="mini"] ip-holder-list{
	position: fixed;
	left: 64px;
	top: var(--holder-menu-top, 80px);
	z-index: 5001;
	display: grid;
	min-width: 220px;
	max-height: min(360px, calc(100vh - var(--holder-menu-top, 80px) - 12px));
	overflow-y: auto;
	border: 1px solid #252525;
	border-radius: 10px;
	background: #171717;
	box-shadow: 0 16px 36px rgba(0,0,0,.28);
	padding: 8px;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
ip-app[data-sidebar="mini"] ip-holder-list::-webkit-scrollbar{
	display: none;
}
ip-app[data-sidebar="mini"] ip-holder-menu.is-collapsed ip-holder-list{
	display: none;
}
ip-app[data-sidebar="mini"] ip-holder-list a,
ip-app[data-sidebar="mini"] ip-holder-list button{
	color: #f5f5f5;
}
ip-app[data-sidebar="mini"] ip-holder-list ip-holder-item{
	display: grid;
}
ip-app[data-sidebar="mini"] ip-holder-list ip-holder-item.is-active a,
ip-app[data-sidebar="mini"] ip-holder-list ip-holder-item:hover a{
	color: #111;
}
ip-app[data-sidebar="mini"] ip-holder-list ip-holder-item.is-active{
	background: rgb(255, 212, 0);
}
ip-app[data-sidebar="mini"] ip-holder-list ip-holder-item.is-active:hover{
	background: rgb(255, 212, 0);
}
ip-app[data-sidebar="mini"] ip-holder-list .holder-edit{
	display: none;
}
ip-app[data-sidebar="mini"] .holder-current,
ip-app[data-sidebar="mini"] ip-nav a,
ip-app[data-sidebar="mini"] .register-link,
ip-app[data-sidebar="mini"] .manager-card{
	justify-content: center;
	justify-self: center;
	width: 44px;
	height: 44px;
	border-radius: 8px;
	padding: 0;
}
ip-app[data-sidebar="mini"] .holder-current{
	background: var(--color-accent);
}
ip-app[data-sidebar="mini"] .holder-current b{
	background: transparent;
}
ip-app[data-sidebar="mini"] ip-nav a,
ip-app[data-sidebar="mini"] .register-link{
	position: relative;
	background: transparent;
	color: #9ca3af;
}
ip-app[data-sidebar="mini"] ip-nav a.is-active,
ip-app[data-sidebar="mini"] .register-link.is-active{
	background: var(--color-accent);
	color: #111;
}
ip-app[data-sidebar="mini"] ip-nav a i{
	position: absolute;
	top: -2px;
	right: -2px;
	min-width: 18px;
	padding: 2px 4px;
	font-size: 12px;
}
ip-app[data-sidebar="mini"] .bottom-nav{
	align-content: start;
	align-self: end;
}
ip-app[data-sidebar="mini"] .manager-card{
	border-color: #252525;
	background: transparent;
}
ip-app[data-sidebar="mini"] .manager-card b{
	width: 34px;
	height: 34px;
}
ip-app[data-sidebar="mini"] .sidebar-expand-button{
	display: inline-flex;
	justify-self: center;
	align-self: center;
	line-height: 1;
	transform: translateY(-1px);
}
@media (max-width: 760px){
	ip-app[data-sidebar="mini"]{
		grid-template-columns: 1fr;
	}
}
ip-brand span{
	line-height: 1.2;
}
ip-icon svg{
	width: 18px;
	height: 18px;
}
.holder-current,
ip-holder-list a,
.holder-selected,
ip-nav a,
ip-nav span.is-disabled{
	min-height: 34px;
	padding: 7px 10px;
}
.holder-current{
	width: 100%;
	border: 0;
	background: #f1f1f1;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.holder-current span{
	display: grid;
	gap: 2px;
	min-width: 0;
}
.holder-current strong{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.holder-current em{
	overflow: hidden;
	color: #9ca3af;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.holder-current i{
	margin-left: auto;
	color: #9ca3af;
	font-style: normal;
}
ip-holder-menu.is-collapsed ip-holder-list{
	display: none;
}
ip-holder-menu.is-collapsed .holder-current i{
	transform: rotate(180deg);
}
ip-holder-list button{
	min-height: 30px;
	padding: 5px 10px;
	white-space: nowrap;
}
ip-nav span.is-disabled{
	display: flex;
	align-items: center;
	gap: 10px;
	border-radius: 6px;
	color: #b6bbc4;
	font-weight: 600;
	cursor: default;
	opacity: .62;
}
ip-nav span.is-disabled ip-icon{
	color: #a8aeb9;
}
ip-nav span.is-disabled i{
	margin-left: auto;
	border-radius: 4px;
	background: #d1d5db;
	color: #6b7280;
	padding: 2px 6px;
	font-size: 12px;
	font-style: normal;
}
ip-app[data-sidebar="mini"] ip-nav span.is-disabled span,
ip-app[data-sidebar="mini"] .holder-current span,
ip-app[data-sidebar="mini"] .holder-current i{
	display: none;
}
ip-app[data-sidebar="mini"] ip-nav span.is-disabled{
	justify-content: center;
	justify-self: center;
	width: 44px;
	height: 44px;
	border-radius: 8px;
	padding: 0;
	background: transparent;
	color: #555;
}
ip-app[data-sidebar="mini"] ip-nav span.is-disabled ip-icon{
	color: #555;
}
ip-holder-item{
	display: grid;
	grid-template-columns: minmax(0,1fr) 31px;
	align-items: center;
	gap: 4px;
	border-radius: 6px;
}
ip-holder-item a{
	min-width: 0;
}
ip-holder-item .holder-selected{
	min-width: 0;
}
ip-holder-item.is-active{
	background: rgba(255,212,0,.22);
}
ip-holder-item.is-active a,
ip-holder-item.is-active .holder-selected{
	color: #111;
}
ip-holder-item .holder-edit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-height: 28px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: #8d94a3;
	padding: 0;
	opacity: 0;
	cursor: pointer;
}
ip-holder-item:hover .holder-edit{
	opacity: 1;
}
ip-holder-item .holder-edit:hover{
	background: #eceff3;
	color: #111;
}
ip-holder-item .holder-edit ip-icon svg{
	width: 14px;
	height: 14px;
}
.holder-add-button{
	justify-content: center;
	white-space: nowrap;
}
ip-form-alert{
	position: sticky;
	top: 70px;
	z-index: 120;
	grid-column: 1 / -1;
	display: grid;
	gap: 4px;
	margin-bottom: 14px;
	border: 1px solid #fecaca;
	border-radius: 10px;
	background: #fee2e2;
	color: #991b1b;
	padding: 10px 42px 10px 12px;
	font-size: 13px;
	font-weight: 600;
}
ip-modal-window ip-form-alert{
	top: 12px;
}
ip-form-alert ip-alert-actions{
	position: absolute;
	top: 6px;
	right: 8px;
	display: inline-flex;
	gap: 4px;
}
ip-form-alert ip-alert-actions .copy-button,
ip-form-alert ip-alert-actions [data-form-alert-close]{
	position: static;
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
}
ip-form-alert.is-success{
	border-color: #bbf7d0;
	background: #dcfce7;
	color: #166534;
}
ip-form-alert.is-warning{
	border-color: #facc15;
	background: #fef3c7;
	color: #92400e;
}
ip-form-alert.holder-duplicate-warning ul{
	margin: 4px 0 0;
	padding-left: 18px;
	font-weight: 500;
}
ip-form-alert.holder-duplicate-warning .button-gray{
	justify-self: start;
	margin-top: 6px;
	border-color: rgba(146,64,14,.28);
	background: rgba(255,255,255,.65);
	color: #78350f;
}
ip-form-alert a{
	color: inherit;
	text-decoration: underline;
}
ip-theme-auto-prompt{
	position: fixed;
	inset: 0;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(17,24,39,.55);
	padding: 20px;
}
ip-theme-auto-window{
	position: relative;
	display: grid;
	gap: 14px;
	width: min(560px,100%);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	background: var(--color-panel);
	color: var(--color-text);
	box-shadow: 0 20px 60px rgba(0,0,0,.25);
	padding: 24px;
}
ip-theme-auto-window h2,
ip-theme-auto-window p{
	margin: 0;
}
ip-theme-auto-window p{
	color: var(--color-muted);
	line-height: 1.45;
}
ip-theme-auto-window .modal-close{
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	min-height: 32px;
	border: 0;
	background: transparent;
	padding: 0;
	font-size: 24px;
	font-weight: 700;
}
ip-theme-auto-window .modal-close:hover{
	background: #f3f4f6;
}
ip-theme-auto-window ip-form-actions{
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
[data-entity-type].is-created-highlight{
	animation: created-highlight 4.5s ease;
}
@keyframes created-highlight{
	0%, 70%{
		background-color: #fff7bf;
		box-shadow: inset 0 0 0 2px var(--color-accent);
	}
	100%{
		background-color: transparent;
		box-shadow: inset 0 0 0 0 transparent;
	}
}
.application-wizard .checkbox-label span{
	min-width: 0;
	overflow-wrap: anywhere;
}
.form-error{
	display: block;
	margin-top: 6px;
	color: #dc2626;
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
}
.holder-current:hover{
	background: #e9eaec;
}
.holder-current .holder-arrow{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: auto;
	transition: transform .18s ease;
}
.holder-current .holder-arrow ip-icon,
.holder-current .holder-arrow svg{
	width: 14px;
	height: 14px;
}
ip-holder-menu.is-collapsed .holder-current .holder-arrow{
	transform: rotate(180deg);
}
ip-holder-menu.is-collapsed .holder-current i{
	transform: rotate(180deg);
}
ip-holder-item:hover{
	background: #f1f1f1;
}
ip-holder-item.is-active:hover{
	background: rgba(255,212,0,.34);
}
ip-holder-item:hover a{
	color: #111;
}
ip-holder-item:hover .holder-selected{
	color: #111;
}
ip-holder-item .holder-edit:hover{
	background: var(--color-accent);
	color: #111;
}

.admin-actions{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: nowrap;
	white-space: nowrap;
}
.admin-actions form{
	display: inline-flex;
	margin: 0;
}
.admin-actions button{
	min-height: 34px;
	border-radius: 8px;
	padding: 0 12px;
	white-space: nowrap;
}
.form-grid input.is-error,
.form-grid select.is-error,
.form-grid textarea.is-error,
.form-grid input.has-error,
.form-grid select.has-error,
.form-grid textarea.has-error,
ip-wizard-body input.is-error,
ip-wizard-body select.is-error,
ip-wizard-body textarea.is-error,
ip-radio-list label.is-error{
	border-color: #dc2626;
	box-shadow: 0 0 0 2px rgba(220,38,38,.12);
}

.delete-relations{
	margin: 14px 0 18px;
}
.delete-relations a{
	color: var(--color-accent);
	font-weight: 700;
}
.delete-relations a:hover{
	text-decoration: underline;
}
.button-gray{
	border-color: var(--color-control-border);
	background: #f3f4f6;
	color: #374151;
}
.button-gray:hover{
	background: #e5e7eb;
	color: #111827;
}
.button-danger{
	border-color: #dc2626;
	background: #fff;
	color: #111827;
}
.button-danger:hover{
	background: #dc2626;
	color: #fff;
}
.delete-form .button-danger{
	width: 100%;
}
ip-admin-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}
ip-admin-head h2{
	margin: 0;
}
.admin-head-actions{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}
.admin-filter{
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
	margin: 0;
}
.admin-filter select{
	width: 260px;
}
ip-json-menu{
	position: relative;
	display: inline-flex;
}
ip-json-menu > button{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
}
ip-json-menu-list{
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 40;
	display: grid;
	min-width: 140px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-panel);
	box-shadow: 0 12px 28px rgba(15,23,42,.16);
	padding: 6px;
}
ip-json-menu-list[hidden]{
	display: none;
}
ip-json-menu-list button{
	justify-content: flex-start;
	min-height: 34px;
	border: 0;
	background: transparent;
	color: var(--color-text);
	padding: 7px 10px;
}
ip-json-menu-list button:hover{
	background: #f3f4f6;
}
.location-options-form{
	display: grid;
	gap: 12px;
	margin-top: 14px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: var(--color-panel);
	padding: 14px;
}
ip-location-options-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
ip-location-options-head h3{
	margin: 0;
}
ip-location-options-list{
	display: grid;
	gap: 8px;
}
ip-location-option-row{
	display: grid;
	grid-template-columns: minmax(220px,1fr) 130px 132px 38px;
	align-items: center;
	gap: 8px;
}
ip-location-option-row.is-inactive{
	opacity: .48;
}
ip-location-option-row.is-inactive input{
	text-decoration: line-through;
}
ip-location-option-row.is-error input:first-child{
	border-color: #dc2626;
	box-shadow: 0 0 0 2px rgba(220,38,38,.12);
}
.location-default-toggle{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: var(--color-text);
	font-weight: 400;
	white-space: nowrap;
	cursor: pointer;
}
.location-default-toggle input{
	width: 16px;
	height: 16px;
	min-height: 0;
	margin: 0;
	padding: 0;
	accent-color: var(--color-accent);
}
.location-default-toggle span{
	margin: 0;
}
ip-location-option-row .icon-button{
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	min-height: 38px;
	padding: 0;
}
ip-location-options-actions{
	display: flex;
	align-items: center;
	gap: 8px;
}
ip-location-options-actions .location-sort-button{
	margin-left: auto;
}
ip-alert{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
ip-alert span{
	min-width: 0;
}
ip-alert-actions{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
}
.copy-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	min-height: 30px;
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: #6b7280;
	padding: 0;
	flex: 0 0 auto;
}
.copy-button:hover{
	background: rgba(0,0,0,.08);
	color: #111827;
}
.copy-button ip-icon,
.copy-button svg,
.copy-button img{
	width: 16px;
	height: 16px;
}
.alert-close-button,
ip-form-alert [data-form-alert-close]{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	min-height: 30px;
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: #6b7280;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}
.alert-close-button:hover,
ip-form-alert [data-form-alert-close]:hover{
	background: rgba(0,0,0,.08);
	color: #111827;
}
.delete-relations li{
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 4px 0;
}
.delete-relations li span{
	color: #374151;
}
.delete-relations a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	border-radius: 6px;
	background: rgba(255,212,0,.28);
	color: #111827;
	font-weight: 800;
}
.delete-relations a:hover{
	background: var(--color-accent);
	text-decoration: none;
}
.button-danger{
	border: 1px solid #dc2626;
	background: #fff;
	color: #111827;
}
.button-danger:hover{
	background: #dc2626;
	color: #fff;
}
ip-password-field{
	display: block;
	position: relative;
	width: 100%;
}
ip-password-field input{
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--color-control-border);
	border-radius: 10px;
	background: #f3f4f6;
	padding-right: 50px;
}
ip-password-field input:focus{
	border-color: var(--color-accent,#ffd400);
	outline: 0;
}
ip-password-field .password-toggle{
	position: absolute;
	top: 50%;
	right: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-height: 34px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #111827;
	padding: 0;
	transform: translateY(-50%);
}
ip-password-field .password-toggle:hover{
	background: #e5e7eb;
	color: #111827;
}
ip-password-field .password-toggle ip-icon,
ip-password-field .password-toggle svg{
	display: block;
	width: 18px;
	height: 18px;
}
ip-password-field .password-toggle [data-eye-hidden]{
	display: none;
}
ip-password-field .password-toggle.is-hidden [data-eye-visible]{
	display: none;
}
ip-password-field .password-toggle.is-hidden [data-eye-hidden]{
	display: block;
}
.password-label > span{
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
}
.password-label > span b{
	display: inline-flex;
	align-items: center;
	font: inherit;
	font-weight: 700;
}
.generate-password{
	display: inline-flex;
	justify-self: end;
	width: auto;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #8b8b8b;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.generate-password:hover{
	background: transparent;
	color: #111827;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.password-confirm.is-hidden{
	display: none;
}
.password-recovery-button{
	width: 100%;
}
.login-box .password-recovery-button{
	width: 100%;
}
.checkbox-label{
	display: flex;
	align-items: center;
	gap: 8px;
}
.checkbox-label input{
	width: auto;
	min-height: 0;
	flex: 0 0 auto;
}
.checkbox-label > span{
	margin: 0;
	min-width: 0;
}
.account-profile-form{
	display: block;
}
.account-profile-form > ip-form-alert,
.account-profile-form > input[type="hidden"]{
	display: block;
	margin-bottom: 12px;
}
ip-account-profile-grid{
	display: grid;
	grid-template-columns: minmax(0,1fr) 256px;
	gap: 28px;
	align-items: start;
	max-width: 800px;
	width: 100%;
}
ip-account-profile-fields{
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 14px;
}
.account-avatar-field{
	display: grid;
	gap: 10px;
	align-content: start;
}
.account-avatar-field > span{
	font-weight: 600;
}
.account-avatar-field input{
	width: 100%;
	min-width: 0;
}
.account-avatar-field .account-avatar-delete{
	width: auto;
	justify-self: start;
	margin-top: 2px;
	color: #dc2626;
	font-weight: 600;
}
.account-avatar-field .account-avatar-delete input{
	width: auto;
}
ip-account-avatar-preview{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 256px;
	height: 256px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: #f3f4f6;
	color: var(--color-muted);
	overflow: hidden;
}
ip-account-avatar-preview img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
ip-account-avatar-preview ip-icon,
ip-account-avatar-preview svg{
	width: 96px;
	height: 96px;
}
.account-save-button{
	width: auto;
	justify-self: start;
	align-self: start;
}
.account-settings-form > button{
	width: auto;
	justify-self: start;
}
ip-user-settings-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 14px;
}
ip-user-settings-head h2{
	margin: 0;
	font-size: 18px;
}
.account-user-settings-form{
	display: grid;
	gap: 14px;
	max-width: 900px;
}
.account-user-settings-form table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	overflow: hidden;
	background: var(--color-panel);
}
.account-user-settings-form th,
.account-user-settings-form td{
	border-bottom: 1px solid var(--color-border);
	padding: 10px 12px;
	text-align: left;
	vertical-align: middle;
}
.account-user-settings-form tr:last-child td{
	border-bottom: 0;
}
.account-user-settings-form th{
	color: var(--color-muted);
	font-size: 12px;
	text-transform: uppercase;
}
.account-user-settings-form code{
	white-space: nowrap;
}
.account-user-settings-form .setting-description{
	width: 36%;
	color: var(--color-muted);
	font-size: 12px;
	line-height: 1.35;
}
ip-user-settings-groups{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}
ip-user-settings-groups button{
	width: auto;
	min-height: 34px;
	border-color: var(--color-control-border);
	background: var(--color-panel);
	color: var(--color-text);
	font-weight: 600;
}
ip-user-settings-groups button.is-active{
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: #111;
}
.account-user-settings-form button{
	width: auto;
	justify-self: start;
}
ip-settings-block{
	display: block;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-panel);
	padding: 16px;
}
ip-settings-block h3{
	margin: 0 0 14px;
	font-size: 16px;
}
ip-pagination-settings{
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	column-gap: 24px;
	row-gap: 0;
}
ip-pagination-settings label{
	display: grid;
	grid-template-columns: minmax(0,1fr) 96px;
	grid-template-rows: auto auto;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #edf0f4;
}
ip-pagination-settings label:nth-child(-n+3){
	border-top: 0;
}
ip-pagination-settings label > span{
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}
ip-pagination-settings label > input{
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
}
ip-pagination-settings em{
	grid-column: 1;
	grid-row: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--color-muted);
	font-style: normal;
	font-size: 13px;
}
ip-pagination-settings em input{
	width: auto;
	min-height: 0;
	margin: 0;
}
ip-pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
}
ip-pagination a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 34px;
	border: 1px solid var(--color-control-border);
	border-radius: 8px;
	background: #fff;
	color: #111827;
	padding: 0 12px;
	font-weight: 600;
}
ip-pagination a.is-active{
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #111;
}
ip-pagination.is-loading{
	opacity: .65;
	pointer-events: none;
}
ip-role-admin{
	display: block;
}
.role-view-switch{
	display: inline-flex;
	gap: 0;
	border: 1px solid var(--color-control-border);
	border-radius: 10px;
	overflow: hidden;
}
.role-view-switch button{
	min-height: 34px;
	border: 0;
	border-radius: 0;
	background: #f3f4f6;
	padding: 0 16px;
	font-weight: 600;
}
.role-view-switch button.is-active{
	background: var(--color-accent);
	color: #111827;
}
ip-role-tree,
ip-role-html-view,
ip-role-canvas-view{
	display: block;
}
[data-role-view-panel][hidden]{
	display: none !important;
}
ip-role-tree ol{
	display: grid;
	gap: 8px;
	margin: 8px 0 0 18px;
	padding: 0 0 0 18px;
	list-style: none;
	border-left: 1px solid var(--color-control-border);
}
ip-role-tree > ol{
	margin-left: 0;
	padding-left: 0;
	border-left: 0;
}
ip-role-tree li{
	position: relative;
}
ip-role-tree li::before{
	content: "";
	position: absolute;
	top: 38px;
	left: -18px;
	width: 18px;
	border-top: 1px solid var(--color-control-border);
}
ip-role-tree li:last-child::after{
	content: "";
	position: absolute;
	top: 39px;
	bottom: -8px;
	left: -19px;
	width: 3px;
	background: var(--color-panel);
}
ip-role-tree > ol > li::before{
	display: none;
}
ip-role-tree > ol > li::after{
	display: none;
}
ip-role-card{
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 16px;
	min-height: 62px;
	border: 1px solid var(--color-control-border);
	border-radius: 12px;
	background: #fff;
	padding: 10px 12px 10px 14px;
}
ip-role-node.is-dragging ip-role-card,
[data-role-node].is-dragging > ip-role-card{
	opacity: .55;
}
.role-drop-placeholder{
	display: block;
	height: 34px;
	list-style: none;
	pointer-events: none;
}
.role-drop-placeholder span{
	display: block;
	width: 100%;
	height: 100%;
	border: 1px dashed #cbd5e1;
	border-radius: 10px;
	background: #eef2f7;
}
[data-role-node].is-drop-target > ip-role-card{
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(255,212,0,.22);
}
ip-role-card span{
	display: grid;
	gap: 4px;
	min-width: 0;
}
ip-role-card strong{
	font-size: 15px;
	line-height: 1.2;
}
ip-role-card em,
ip-role-card b,
ip-role-card small{
	color: #6b7280;
	font-style: normal;
}
ip-role-card b{
	font-weight: 400;
}
ip-role-card small{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
}
ip-role-card small svg{
	width: 14px;
	height: 14px;
}
ip-role-actions{
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
ip-role-actions button,
.role-drag-handle{
	width: 34px;
	min-width: 34px;
	height: 34px;
	min-height: 34px;
	border: 1px solid var(--color-control-border);
	border-radius: 8px;
	background: #f8fafc;
	color: #111827;
	padding: 0;
	cursor: pointer;
}
.role-drag-handle{
	cursor: grab;
	touch-action: none;
	user-select: none;
}
.role-drag-handle:disabled,
.role-drag-handle.is-disabled{
	opacity: .45;
	cursor: default;
	pointer-events: none;
}
.role-drag-handle:active{
	cursor: grabbing;
}
ip-role-actions button:hover,
.role-drag-handle:hover{
	border-color: var(--color-accent);
	background: #fff7c2;
}
ip-role-actions button.is-highlighted{
	border-color: #8b5cf6;
	background: #f3e8ff;
	color: #6d28d9;
}
ip-role-actions button.is-disabled{
	opacity: .45;
	cursor: not-allowed;
}
ip-role-actions button.button-danger{
	border-color: #ef4444;
	background: #fff1f2;
	color: #b91c1c;
}
ip-role-actions button.button-danger:hover{
	background: #fee2e2;
}
ip-role-actions button svg,
.role-drag-handle svg{
	width: 17px;
	height: 17px;
}
ip-role-check-tree,
ip-role-user-list{
	display: grid;
	gap: 8px;
	max-height: 430px;
	overflow: auto;
	padding-right: 4px;
}
ip-role-check-tree label,
ip-role-user-list label{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	border: 1px solid var(--color-control-border);
	border-radius: 10px;
	background: #fff;
	padding: 10px 12px;
}
ip-role-check-tree label input,
ip-role-user-list label input{
	margin-top: 2px;
	width: auto;
	min-height: 0;
	flex: 0 0 auto;
}
ip-role-check-tree label.is-disabled{
	opacity: .45;
}
ip-role-check-tree span,
ip-role-user-list strong{
	display: block;
	font-weight: 700;
}
ip-role-check-tree em,
ip-role-user-list em{
	display: block;
	color: #6b7280;
	font-style: normal;
	font-size: 12px;
}
ip-role-modal-actions{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
ip-role-permissions{
	display: grid;
	gap: 14px;
	max-height: 520px;
	overflow: auto;
	padding-right: 4px;
}
ip-role-permissions fieldset{
	display: grid;
	gap: 8px;
	margin: 0;
	border: 1px solid var(--color-control-border);
	border-radius: 12px;
	padding: 12px;
}
ip-role-permissions legend{
	padding: 0 6px;
	font-weight: 700;
}
ip-role-permissions label{
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
ip-role-permissions label.is-denied{
	border-radius: 8px;
	background: #fef2f2;
	color: #b91c1c;
	padding: 6px;
}
ip-role-permissions label.is-denied em{
	color: #dc2626;
}
ip-role-permissions input{
	width: auto;
	min-height: 0;
	margin-top: 2px;
}
ip-role-permissions span{
	display: grid;
	gap: 2px;
}
ip-role-permissions em{
	color: var(--color-muted);
	font-style: normal;
	font-size: 12px;
}
ip-role-canvas-view{
	position: relative;
	overflow: auto;
	border: 1px solid var(--color-control-border);
	border-radius: 14px;
	background: #f8fafc;
	padding: 12px;
}
ip-role-canvas-view canvas{
	display: block;
	min-width: 100%;
	cursor: crosshair;
	background:
		linear-gradient(#eef2f7 1px, transparent 1px),
		linear-gradient(90deg, #eef2f7 1px, transparent 1px);
	background-size: 32px 32px;
	border-radius: 10px;
}
.admin-updates{
	display: block;
}
.admin-update-settings{
	margin: 0 0 18px;
}
.admin-update-settings button{
	justify-self: start;
	width: auto;
}
ip-update-grid{
	display: grid;
	gap: 14px;
	margin: 18px 0;
}
ip-update-card{
	display: grid;
	gap: 12px;
	align-content: start;
	padding: 16px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-panel);
}
ip-update-card h3,
ip-update-format h3,
.admin-updates h3{
	margin: 0;
}
ip-update-card p{
	margin: 0;
	color: var(--color-muted);
}
ip-update-card form{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
ip-update-note{
	display: grid;
	gap: 4px;
	padding: 10px;
	border-radius: 8px;
	background: var(--color-bg);
}
ip-update-format{
	display: block;
	margin: 18px 0;
}
ip-update-format pre{
	overflow: auto;
	margin: 10px 0 0;
	padding: 14px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-bg);
}
.admin-updates > h3{
	margin-top: 22px;
}
.admin-updates > ip-table-wrap{
	display: block;
	margin-top: 10px;
}
@media (min-width: 900px){
	ip-update-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
