.iw-app {
	--iw-text-color: inherit;
	--iw-muted-color: #666;
	--iw-border-color: rgba(0, 0, 0, 0.12);
	--iw-background: transparent;
	--iw-surface: #fff;
	--iw-success: #166534;
	--iw-danger: #b42318;
	--iw-neutral: #666;
	--iw-warning: #9a6700;
	--iw-accent: #1d2327;
	--iw-radius: 6px;
	--iw-spacing: 1rem;
	box-sizing: border-box;
	color: var(--iw-text-color);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	margin-inline: auto;
	max-width: 1200px;
	padding: clamp(1rem, 3vw, 2rem);
}
.iw-app *, .iw-app *::before, .iw-app *::after { box-sizing: inherit; }
.iw-app .iw-page-header { align-items: center; display: flex; flex-wrap: wrap; gap: var(--iw-spacing); justify-content: space-between; margin-bottom: calc(var(--iw-spacing) * 1.5); }
.iw-app .iw-page-header h1, .iw-app .iw-page-header h2, .iw-app .iw-page-header h3 { margin: 0; }
.iw-app .iw-kicker { color: var(--iw-muted-color); margin: 0 0 .25rem; }
.iw-app .iw-muted { color: var(--iw-muted-color); display: block; font-size: .9em; }
.iw-app .iw-surface { background: var(--iw-surface); border: 1px solid var(--iw-border-color); border-radius: var(--iw-radius); padding: var(--iw-spacing); }
.iw-app .iw-watchlist-grid, .iw-app .iw-dashboard-grid { display: grid; gap: var(--iw-spacing); grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.iw-app .iw-button, .iw-app .iw-file-button { background: var(--iw-accent); border: 1px solid var(--iw-accent); border-radius: var(--iw-radius); color: #fff; cursor: pointer; display: inline-block; padding: .55rem .9rem; text-decoration: none; }
.iw-app .iw-link-button { background: transparent; border: 0; color: inherit; cursor: pointer; padding: 0; text-decoration: underline; }
.iw-app .iw-file-button input { clip: rect(0,0,0,0); height: 1px; overflow: hidden; position: absolute; width: 1px; }
.iw-app .iw-filters { align-items: end; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 1.5rem 0; }
.iw-app label { display: grid; font-weight: 600; gap: .35rem; }
.iw-app input, .iw-app select, .iw-app textarea { background: var(--iw-surface); border: 1px solid var(--iw-border-color); border-radius: var(--iw-radius); color: inherit; font: inherit; max-width: 100%; padding: .55rem .65rem; width: 100%; }
.iw-app input:focus-visible, .iw-app select:focus-visible, .iw-app textarea:focus-visible, .iw-app button:focus-visible, .iw-app a:focus-visible { outline: 3px solid rgba(0, 90, 200, .35); outline-offset: 2px; }
.iw-app .iw-table-wrap { overflow-x: auto; }
.iw-app .iw-table { border-collapse: collapse; margin: 0; width: 100%; }
.iw-app .iw-table th, .iw-app .iw-table td { border-bottom: 1px solid var(--iw-border-color); padding: .75rem .6rem; text-align: left; vertical-align: top; }
.iw-app .iw-table thead th { white-space: nowrap; }
.iw-app .iw-status { border: 1px solid currentColor; border-radius: 999px; display: inline-block; font-size: .82em; font-weight: 600; padding: .12rem .5rem; white-space: nowrap; }
.iw-app .iw-status--undervalued { color: var(--iw-success); }
.iw-app .iw-status--overvalued { color: var(--iw-danger); }
.iw-app .iw-status--fairly_valued { color: var(--iw-neutral); }
.iw-app .iw-status--unknown { color: var(--iw-warning); }
.iw-app .iw-explanation, .iw-app .iw-disclaimer { border-top: 1px solid var(--iw-border-color); margin-top: 2rem; padding-top: 1rem; }
.iw-app .iw-disclaimer { color: var(--iw-muted-color); font-size: .92em; }
.iw-app .iw-cards { display: none; }
.iw-app .iw-card { background: var(--iw-surface); border: 1px solid var(--iw-border-color); border-radius: var(--iw-radius); padding: var(--iw-spacing); }
.iw-app .iw-card dl { display: grid; gap: .35rem 1rem; grid-template-columns: 1fr auto; margin: 1rem 0 0; }
.iw-app .iw-card dt, .iw-app .iw-card dd { margin: 0; }
.iw-app .iw-card dd { text-align: right; }
.iw-app .iw-results { color: var(--iw-muted-color); min-height: 1.5em; }
.iw-app .iw-pagination { align-items: center; display: flex; gap: .5rem; justify-content: center; margin-top: 1rem; }
.iw-app .iw-dialog { border: 1px solid var(--iw-border-color); border-radius: var(--iw-radius); color: inherit; max-height: min(90vh, 900px); max-width: min(92vw, 560px); overflow: auto; padding: 0; width: 100%; }
.iw-app .iw-dialog--wide { max-width: min(94vw, 850px); }
.iw-app .iw-dialog::backdrop { background: rgba(0,0,0,.45); }
.iw-app .iw-dialog form { display: grid; gap: var(--iw-spacing); padding: 1.25rem; }
.iw-app .iw-dialog header, .iw-app .iw-dialog footer { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.iw-app .iw-dialog header button { background: transparent; border: 0; cursor: pointer; font-size: 1.6rem; }
.iw-app .iw-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.iw-app .iw-span-2 { grid-column: 1 / -1; }
.iw-app .iw-notice { border: 1px solid currentColor; border-radius: var(--iw-radius); margin-bottom: 1rem; padding: .75rem; }
.iw-app .iw-notice[data-type="error"] { color: var(--iw-danger); }
.iw-app .iw-loading { background: var(--iw-surface); padding: .5rem; position: sticky; top: 0; z-index: 3; }
.iw-app [hidden] { display: none; }
.iw-app .iw-manager-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.iw-app .iw-item-detail td { background: rgba(0, 0, 0, .025); font-size: .92em; padding-block: .85rem; }
.iw-app .iw-item-detail div + div, .iw-app .iw-card-detail div + div { margin-top: .5rem; }
.iw-app .iw-card-detail { border-top: 1px solid var(--iw-border-color); font-size: .92em; margin-top: 1rem; padding-top: .75rem; }
@media (max-width: 767px) {
	.iw-app .iw-table-wrap { display: none; }
	.iw-app .iw-cards { display: grid; gap: var(--iw-spacing); }
	.iw-app .iw-form-grid { grid-template-columns: 1fr; }
	.iw-app .iw-span-2 { grid-column: auto; }
}
