@font-face {
	font-family:CTOCondensed;
	src:url(roboto-condensed.ttf) format("truetype");
	font-style:normal;
	font-weight:100 900;
	font-display:swap
}
/* CTO Members Portal · approved six-screen design · scoped, no external assets. */
.cto-portal {
	--cto-navy:#071b53;
	--cto-blue:#034ce7;
	--cto-blue-dark:#033bc4;
	--cto-muted:#5e7197;
	--cto-line:#d8e5f9;
	--cto-bg:#f5f9ff;
	--cto-white:#fff;
	font:15px/1.55 Arial,Helvetica,sans-serif;
	color:var(--cto-navy);
	background:linear-gradient(130deg,#fff 0%,#f5faff 62%,#edf5ff 100%);
	min-height:100vh;
	text-align:left;
	isolation:isolate;
	letter-spacing:0;
	-webkit-font-smoothing:antialiased
}
.cto-portal * {
	box-sizing:border-box
}
.cto-portal [hidden] {
	display:none!important
}
.cto-portal a {
	color:var(--cto-blue);
	text-decoration:none
}
.cto-portal a:hover {
	text-decoration:underline
}
.cto-portal h1,.cto-portal h2,.cto-portal h3,.cto-portal p {
	margin:0
}
.cto-portal h1 {
	font-size:30px;
	line-height:1.2;
	font-weight:750;
	letter-spacing:-.65px;
	color:var(--cto-navy)
}
.cto-portal h2 {
	font-size:19px;
	line-height:1.35;
	font-weight:700;
	color:var(--cto-navy)
}
.cto-portal h3 {
	font-size:16px;
	line-height:1.35;
	color:var(--cto-navy)
}
.cto-portal button,.cto-portal input,.cto-portal textarea,.cto-portal select {
	font:inherit;
	letter-spacing:inherit
}
.cto-portal button {
	cursor:pointer
}
.cto-portal button:disabled {
	opacity:.6;
	cursor:wait
}
.cto-portal button:focus-visible,.cto-portal a:focus-visible,.cto-portal input:focus-visible,.cto-portal textarea:focus-visible,.cto-portal summary:focus-visible {
	outline:3px solid #739efb;
	outline-offset:3px
}
.cto-portal input:not([type=checkbox]):not([type=hidden]):not([type=file]),.cto-portal textarea {
	display:block;
	width:100%;
	border:1px solid #cbdcf7;
	border-radius:6px;
	color:var(--cto-navy);
	padding:12px 14px;
	background:#fff;
	box-shadow:none;
	min-width:0
}
.cto-portal input::placeholder,.cto-portal textarea::placeholder {
	color:#7b8cab;
	opacity:1
}
.cto-portal label {
	display:block;
	font-size:13px;
	font-weight:600;
	margin:17px 0 7px
}
.cto-portal input[type=checkbox] {
	accent-color:var(--cto-blue);
	width:17px;
	height:17px;
	flex-shrink:0
}
.cto-portal textarea {
	resize:vertical
}
.cto-portal svg {
	flex-shrink:0;
	vertical-align:middle
}
.cto-portal img {
	max-width:100%;
	display:block
}
.cto-portal .cto-button {
	display:inline-flex;
	position:static;
	width:auto;
	max-width:100%;
	flex:0 0 auto;
	margin:0;
	text-transform:none;
	align-items:center;
	justify-content:center;
	gap:7px;
	border:1px solid transparent;
	border-radius:6px;
	padding:11px 23px;
	min-height:44px;
	line-height:1.25;
	background:linear-gradient(110deg,#075aff,#003bd6);
	color:#fff;
	font-size:14px;
	font-weight:600;
	text-decoration:none;
	box-shadow:0 3px 7px #0951dd0b;
	white-space:nowrap
}
.cto-portal .cto-button:hover {
	background:var(--cto-blue-dark);
	color:#fff;
	text-decoration:none
}
.cto-portal .cto-button-small {
	padding:9px 14px;
	font-size:12px;
	min-height:38px
}
.cto-portal .cto-button-outline {
	color:var(--cto-blue);
	background:#fff;
	border-color:#a5c3ff;
	box-shadow:none
}
.cto-portal .cto-button-outline:hover {
	background:#edf4ff;
	color:var(--cto-blue-dark)
}
.cto-portal .cto-button-soft {
	background:#e3eeff;
	color:var(--cto-blue);
	border:0
}
.cto-portal .cto-button-danger {
	background:#fff;
	color:#e41d36;
	border-color:#ff6377;
	box-shadow:none
}
.cto-portal .cto-button-danger:hover {
	background:#fff0f2;
	color:#e41d36
}
.cto-portal .cto-full {
	width:100%
}
.cto-portal .cto-icon-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:transparent;
	border:0;
	color:var(--cto-navy);
	padding:9px;
	border-radius:5px;
	min-height:38px;
	min-width:38px
}
.cto-portal .cto-icon-button:hover {
	background:#e9f1ff;
	text-decoration:none
}
.cto-portal .cto-muted,.cto-help {
	color:var(--cto-muted)
}
.cto-portal .cto-help {
	font-size:12px;
	line-height:1.5;
	margin:10px 0
}
.cto-portal .cto-sr {
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0
}
.cto-portal .cto-skip {
	position:absolute;
	top:-80px;
	left:20px;
	z-index:20;
	background:#fff;
	padding:12px
}
.cto-portal .cto-skip:focus {
	top:10px
}
.cto-canvas {
	margin:0;
	background:#f5f9ff
}
.cto-portal .cto-logo {
	display:inline-flex;
	flex-shrink:0
}
.cto-portal .cto-logo img {
	width:186px;
	height:62px;
	object-fit:contain
}
.cto-portal .cto-header {
	background:#ffffffec;
	border-bottom:1px solid #e3ecfa;
	box-shadow:0 3px 16px #457acc05
}
.cto-portal .cto-header-inner {
	max-width:1320px;
	margin:auto;
	min-height:88px;
	padding:17px 40px;
	display:flex;
	align-items:center;
	gap:48px;
	flex-wrap:wrap
}
.cto-portal .cto-nav a {
	color:var(--cto-navy);
	font-size:14px;
	font-weight:700;
	white-space:nowrap
}
.cto-portal .cto-header-actions {
	margin-left:auto;
	display:flex;
	align-items:center;
	gap:18px
}
.cto-portal .cto-logout-form {
	display:block;
	flex:0 0 auto;
	width:auto;
	margin:0;
	padding:0
}
.cto-portal .cto-account summary>span:not(.cto-avatar) {
	max-width:180px;
	overflow:hidden;
	text-overflow:ellipsis
}
.cto-portal .cto-search-nav {
	background:#f1f6ff
}
.cto-portal .cto-account {
	position:relative
}
.cto-portal .cto-account summary {
	list-style:none;
	display:flex;
	align-items:center;
	gap:10px;
	cursor:pointer;
	font-size:12px;
	font-weight:700;
	white-space:nowrap
}
.cto-portal .cto-account summary::-webkit-details-marker {
	display:none
}
.cto-portal .cto-avatar {
	width:var(--avatar-size,36px);
	height:var(--avatar-size,36px);
	border-radius:50%;
	object-fit:cover;
	flex-shrink:0;
	background:#e6edf7
}
.cto-portal .cto-initials {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	color:#315287;
	font-size:calc(var(--avatar-size,36px) * .32);
	font-weight:600;
	background:linear-gradient(145deg,#dae9fc,#cddded)
}
.cto-portal .cto-account-menu {
	position:absolute;
	right:0;
	top:calc(100% + 17px);
	min-width:225px;
	z-index:10;
	background:#fff;
	box-shadow:0 8px 35px #09235422;
	border:1px solid var(--cto-line);
	padding:8px;
	border-radius:8px
}
.cto-portal .cto-account-menu a,.cto-portal .cto-account-menu button {
	display:flex;
	position:static;
	margin:0;
	box-shadow:none;
	text-transform:none;
	align-items:center;
	gap:10px;
	padding:11px 12px;
	width:100%;
	font-size:13px;
	text-align:left;
	color:var(--cto-navy);
	background:none;
	border:0;
	border-radius:4px;
	line-height:1.4
}
.cto-portal .cto-account-menu a:hover,.cto-portal .cto-account-menu button:hover {
	background:#eff5ff;
	text-decoration:none
}
.cto-portal .cto-main {
	max-width:1240px;
	margin:auto;
	padding:38px 40px 70px;
	min-height:calc(100vh - 148px)
}
.cto-portal .cto-page-heading {
	margin-bottom:23px
}
.cto-portal .cto-page-heading p {
	color:#3b527c;
	margin-top:8px;
	font-size:14px
}
.cto-portal .cto-search {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:stretch;
	gap:12px;
	margin-bottom:28px
}
.cto-portal .cto-search-field {
	display:flex;
	align-items:center;
	gap:12px;
	min-width:0;
	border:1px solid #c9daf5;
	background:#ffffff99;
	border-radius:7px;
	padding:0 15px
}
.cto-portal .cto-search input {
	border:0!important;
	background:transparent!important;
	min-height:48px;
	padding:10px 0!important;
	font-size:13px;
	text-transform:none;
	min-width:0
}
.cto-portal .cto-search .cto-search-submit {
	width:auto;
	min-width:96px;
	max-width:140px;
	padding:10px 22px;
	min-height:50px;
	margin:0
}
.cto-portal .cto-search-result {
	margin:-8px 0 20px;
	font-size:13px
}
.cto-portal .cto-search-result a {
	margin-left:12px
}
.cto-portal .cto-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:23px
}
.cto-portal .cto-case-card {
	border:1px solid #dde9fa;
	border-radius:7px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 3px 14px #3e72b404;
	min-width:0
}
.cto-portal .cto-case-cover {
	aspect-ratio:1.5;
	display:block;
	background:#e6edf5;
	overflow:hidden
}
.cto-portal .cto-case-cover img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .2s
}
.cto-portal .cto-case-cover:hover img {
	transform:scale(1.025)
}
.cto-portal .cto-placeholder {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:100%;
	height:100%;
	min-height:160px;
	background:radial-gradient(ellipse at 80% 10%,#d4e1f5,transparent 65%),linear-gradient(150deg,#edf4fc,#d7e5f7);
	color:#7293c2;
	font-size:12px
}
.cto-portal .cto-card-body {
	padding:15px 16px 14px
}
.cto-portal .cto-card-body h2 {
	font-size:17px;
	min-height:45px;
	line-height:1.32;
	margin-bottom:14px;
	overflow-wrap:anywhere
}
.cto-portal .cto-card-body h2 a {
	color:var(--cto-navy)
}
.cto-portal .cto-author {
	display:flex;
	align-items:center;
	gap:10px;
	font-size:12px;
	line-height:1.5;
	min-width:0
}
.cto-portal .cto-author>span {
	font-weight:600
}
.cto-portal .cto-author small {
	display:block;
	font-size:11px;
	color:var(--cto-muted)
}
.cto-portal .cto-meta {
	display:flex;
	gap:18px;
	align-items:center;
	color:#657ca7;
	font-size:11px;
	line-height:1.4
}
.cto-portal .cto-meta>span {
	display:flex;
	align-items:center;
	gap:5px;
	white-space:nowrap
}
.cto-portal .cto-card-body .cto-meta {
	margin-top:16px;
	justify-content:space-between
}
.cto-portal .cto-empty {
	padding:64px 20px;
	text-align:center;
	background:#ffffff7d;
	border:1px solid var(--cto-line);
	border-radius:8px;
	max-width:100%;
	margin:25px 0
}
.cto-portal .cto-empty>svg {
	margin-bottom:18px;
	color:#91acd7
}
.cto-portal .cto-empty p {
	color:var(--cto-muted);
	margin:12px 0 23px
}
.cto-portal .cto-pagination {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:7px;
	margin:35px 0 0;
	font-size:13px
}
.cto-portal .cto-pagination .page-numbers {
	padding:7px 13px;
	border:1px solid var(--cto-line);
	border-radius:4px;
	background:#fff
}
.cto-portal .cto-pagination .current {
	background:var(--cto-blue);
	color:#fff;
	border-color:var(--cto-blue)
}
.cto-portal .cto-footer {
	border-top:1px solid #e3ebf7;
	max-width:1160px;
	margin:auto;
	padding:20px 0;
	color:#7f93b2;
	font-size:11px;
	display:flex;
	justify-content:space-between
}
.cto-portal .cto-form-columns {
	display:grid;
	grid-template-columns:1.05fr 1fr;
	gap:23px
}
.cto-portal .cto-panel {
	min-width:0;
	background:#ffffffd9;
	border:1px solid #e1eafa;
	border-radius:7px;
	padding:24px
}
.cto-portal .cto-panel h2 {
	font-size:17px;
	margin-bottom:6px
}
.cto-portal .cto-panel input,.cto-portal .cto-panel textarea {
	font-size:13px!important
}
.cto-portal .cto-form-columns textarea {
	min-height:292px;
	line-height:1.75
}
.cto-portal .cto-dropzone {
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	border:2px dashed #b6cefa;
	border-radius:7px;
	background:#f6faff;
	padding:25px 15px 16px;
	margin-top:16px;
	text-align:center;
	min-height:244px;
	transition:background .15s
}
.cto-portal .cto-dropzone.is-over {
	background:#e6f0ff;
	border-color:var(--cto-blue)
}
.cto-portal .cto-dropzone>svg {
	color:#173e9b;
	margin-bottom:10px
}
.cto-portal .cto-dropzone p {
	font-size:13px;
	line-height:1.4
}
.cto-portal .cto-dropzone p span {
	display:block;
	color:var(--cto-muted);
	font-size:12px;
	margin:3px
}
.cto-portal .cto-dropzone label {
	margin:0 0 14px;
	font-size:12px;
	padding:9px 15px;
	cursor:pointer
}
.cto-portal .cto-dropzone small {
	font-size:10px;
	color:#7c8dad;
	line-height:1.6
}
.cto-portal .cto-file-input {
	position:absolute;
	opacity:0;
	width:1px;
	height:1px;
	bottom:15px;
	left:50%
}
.cto-portal .cto-dropzone:focus-within {
	outline:3px solid #739efb;
	outline-offset:3px
}
.cto-portal .cto-upload-list {
	display:flex;
	flex-direction:column;
	gap:10px;
	margin-top:16px
}
.cto-portal .cto-upload-item {
	display:flex;
	align-items:center;
	gap:10px;
	min-width:0;
	font-size:12px
}
.cto-portal .cto-upload-item>div {
	flex:1;
	min-width:0
}
.cto-portal .cto-upload-item strong {
	display:block;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	font-weight:500
}
.cto-portal .cto-upload-item small {
	color:var(--cto-muted);
	display:block;
	font-size:10px
}
.cto-portal .cto-upload-symbol {
	flex:0 0 45px;
	width:45px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#edf3fc;
	border-radius:4px;
	color:#325383;
	font-weight:600;
	font-size:10px
}
.cto-portal .cto-upload-remove {
	flex:0 0 36px;
	width:36px;
	max-width:36px;
	margin:0;
	border:0;
	background:none;
	color:#536587;
	min-height:44px;
	min-width:36px;
	font-size:20px;
	padding:4px
}
.cto-portal .cto-upload-status {
	overflow-wrap:anywhere;
	font-size:12px;
	color:#355d9d;
	margin-top:14px
}
.cto-portal .cto-form-actions {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:15px;
	margin-top:22px
}
.cto-portal .cto-form-error,.cto-portal .cto-message {
	font-size:13px;
	line-height:1.6;
	border:1px solid #f4c4cd;
	background:#fff3f5;
	color:#921930;
	padding:12px 15px;
	border-radius:5px;
	margin:18px 0
}
.cto-portal .cto-message {
	background:#f1f6ff;
	color:#264b84;
	border-color:#cbddfa
}
.cto-portal .cto-back {
	display:inline-flex;
	gap:8px;
	align-items:center;
	color:#364d79;
	font-size:13px;
	margin-bottom:18px
}
.cto-portal .cto-single-heading {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:22px
}
.cto-portal .cto-single-heading h1 {
	font-size:28px;
	overflow-wrap:anywhere
}
.cto-portal .cto-single-meta {
	display:flex;
	align-items:center;
	gap:32px;
	margin:16px 0 25px
}
.cto-portal .cto-single-columns {
	display:grid;
	grid-template-columns:1.65fr 1fr;
	gap:26px
}
.cto-portal .cto-gallery {
	display:flex;
	gap:10px;
	min-width:0;
	align-self:start
}
.cto-portal .cto-gallery-main {
	min-width:0;
	flex:1;
	aspect-ratio:1/1.12;
	background:#091525;
	border-radius:6px;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center
}
.cto-portal .cto-gallery-main img,.cto-portal .cto-gallery-main video {
	height:100%;
	width:100%;
	object-fit:contain
}
.cto-portal .cto-gallery-thumbs {
	display:flex;
	flex-direction:column;
	gap:9px;
	width:96px;
	max-height:540px;
	overflow:auto
}
.cto-portal .cto-gallery-thumbs button {
	padding:0;
	border:2px solid transparent;
	border-radius:5px;
	background:#314154;
	color:#fff;
	overflow:hidden;
	min-height:76px;
	flex-shrink:0;
	height:86px
}
.cto-portal .cto-gallery-thumbs button[aria-pressed=true] {
	border-color:#1a67ee
}
.cto-portal .cto-gallery-thumbs img {
	width:100%;
	height:100%;
	object-fit:cover
}
.cto-portal .cto-case-info {
	min-width:0
}
.cto-portal .cto-case-info h2 {
	font-size:16px;
	margin-bottom:10px
}
.cto-portal .cto-prose {
	font-size:13px;
	line-height:1.75;
	color:#40577f;
	margin-bottom:26px;
	overflow-wrap:anywhere
}
.cto-portal .cto-prose p {
	margin-bottom:12px
}
.cto-portal .cto-file-rows {
	display:flex;
	flex-direction:column;
	gap:7px
}
.cto-portal .cto-file-row {
	display:flex;
	gap:8px;
	align-items:center;
	border:1px solid #dce7f9;
	border-radius:5px;
	background:#f9fbff;
	padding:6px;
	min-width:0
}
.cto-portal .cto-file-symbol {
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	flex-shrink:0;
	border-radius:3px;
	background:#e7effb;
	color:#2c4f88
}
.cto-portal .cto-pdf {
	color:#ef3447;
	background:#ffeff1
}
.cto-portal .cto-file-text {
	flex:1 1 0%;
	min-width:0;
	overflow:hidden;
	font-size:11px;
	line-height:1.5
}
.cto-portal .cto-file-text strong {
	font-weight:500;
	display:block;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
.cto-portal .cto-file-text small {
	font-size:10px;
	color:#768bb0
}
.cto-portal .cto-file-row .cto-icon-button {
	flex:0 0 31px;
	width:31px;
	max-width:31px;
	margin:0;
	padding:5px;
	min-width:31px;
	min-height:38px
}
.cto-portal .cto-comments {
	margin-top:32px
}
.cto-portal .cto-comments h2 {
	font-size:18px;
	margin-bottom:17px
}
.cto-portal .cto-comment-form {
	display:flex;
	gap:14px;
	align-items:flex-start;
	flex-wrap:wrap
}
.cto-portal .cto-comment-form textarea {
	flex:1;
	min-height:48px;
	padding:12px;
	line-height:1.5;
	font-size:13px
}
.cto-portal .cto-comment-form .cto-form-error {
	width:100%;
	margin:0
}
.cto-portal .cto-comment-form .cto-button {
	min-height:48px
}
.cto-portal .cto-comment-list {
	padding:22px 0 0 54px;
	max-width:850px
}
.cto-portal .cto-comment {
	display:flex;
	gap:12px;
	margin-bottom:22px;
	font-size:13px;
	line-height:1.7;
	overflow-wrap:anywhere
}
.cto-portal .cto-comment>div {
	min-width:0
}
.cto-portal .cto-comment strong {
	font-size:12px
}
.cto-portal .cto-comment small {
	display:block;
	font-size:10px;
	color:var(--cto-muted)
}
.cto-portal .cto-comment p {
	color:#3a5077;
	margin-top:7px
}
.cto-portal .cto-profile-heading {
	display:grid;
	grid-template-columns:88px minmax(0,1fr) auto;
	align-items:center;
	gap:20px;
	margin:0 0 20px
}
.cto-portal .cto-profile-heading>div {
	min-width:0
}
.cto-portal .cto-profile-heading h1 {
	font-size:22px;
	letter-spacing:-.35px;
	overflow-wrap:anywhere
}
.cto-portal .cto-profile-heading .cto-profile-toggle {
	justify-self:end;
	align-self:center;
	width:auto;
	max-width:100%;
	margin:0;
	position:static
}
.cto-portal .cto-profile-heading p {
	font-size:12px;
	line-height:1.8;
	color:#425a86;
	margin-top:7px
}
.cto-portal .cto-profile-facts {
	display:grid;
	grid-template-columns:1.2fr 1.4fr 1.2fr .7fr;
	margin:0;
	background:#fff;
	border:1px solid var(--cto-line);
	border-radius:6px;
	padding:17px 0;
	font-size:12px;
	gap:0
}
.cto-portal .cto-profile-facts>div {
	padding:0 19px;
	min-width:0;
	border-right:1px solid #e8effa
}
.cto-portal .cto-profile-facts>div:last-child {
	border-right:0
}
.cto-portal .cto-profile-facts dt {
	font-size:10px;
	margin-bottom:5px;
	color:#6a7fa2
}
.cto-portal .cto-profile-facts dd {
	margin:0;
	overflow-wrap:anywhere
}
.cto-portal .cto-my-cases {
	margin-top:42px
}
.cto-portal .cto-section-heading {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:15px;
	margin-bottom:18px
}
.cto-portal .cto-section-heading h2 {
	font-size:21px;
	min-width:0;
	flex:1 1 auto
}
.cto-portal .cto-owned-list {
	display:flex;
	flex-direction:column;
	gap:13px
}
.cto-portal .cto-owned-case {
	display:flex;
	align-items:center;
	gap:16px;
	padding:10px 13px;
	background:#fff;
	border:1px solid #e1eafa;
	border-radius:6px;
	min-width:0
}
.cto-portal .cto-owned-cover {
	width:84px;
	height:74px;
	flex-shrink:0;
	overflow:hidden;
	border-radius:4px
}
.cto-portal .cto-owned-cover img {
	width:100%;
	height:100%;
	object-fit:cover
}
.cto-portal .cto-owned-cover .cto-placeholder {
	min-height:74px
}
.cto-portal .cto-owned-cover .cto-placeholder span {
	display:none
}
.cto-portal .cto-owned-cover .cto-placeholder svg {
	width:28px
}
.cto-portal .cto-owned-info {
	flex:1;
	min-width:0
}
.cto-portal .cto-owned-info h3 {
	font-size:14px;
	margin-bottom:10px;
	overflow-wrap:anywhere
}
.cto-portal .cto-owned-info h3 a {
	color:var(--cto-navy)
}
.cto-portal .cto-owned-actions {
	display:flex;
	gap:9px
}
.cto-portal .cto-profile-editor {
	margin-top:25px
}
.cto-portal .cto-profile-fields {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0 20px
}
.cto-portal .cto-delete-dialog {
	max-width:480px;
	width:calc(100% - 32px);
	padding:28px;
	border:1px solid var(--cto-line);
	border-radius:10px;
	color:var(--cto-navy);
	box-shadow:0 24px 90px #102d5333
}
.cto-portal .cto-delete-dialog::backdrop {
	background:#05204b80
}
.cto-portal .cto-delete-dialog p {
	margin-top:12px;
	font-size:14px;
	color:var(--cto-muted)
}
.cto-portal .cto-toast {
	position:fixed;
	bottom:24px;
	left:50%;
	transform:translateX(-50%);
	z-index:50;
	background:#0c2858;
	color:#fff;
	padding:13px 23px;
	border-radius:7px;
	font-size:13px;
	box-shadow:0 5px 30px #0002;
	max-width:calc(100vw - 30px)
}
/* Login retains the airy blue anatomy-inspired treatment of the approved reference. */
.cto-portal .cto-auth {
	position:relative;
	min-height:100vh;
	background:linear-gradient(110deg,#f1f8ffe8 0%,#e6f1f8ba 45%,#9bbadd91 100%),var(--cto-hero,radial-gradient(ellipse at 75% 40%,#6590c0 0%,#c0d9ec 42%,#f2f8fd 84%));
	background-size:cover;
	background-position:center;
	overflow:hidden;
	padding:38px 6%
}
.cto-portal .cto-auth:before {
	content:"";
	position:absolute;
	right:4%;
	top:5%;
	width:62vw;
	height:85vh;
	max-width:1000px;
	border:1px solid #ffffff35;
	border-radius:49% 51% 45% 55%;
	box-shadow:0 0 0 35px #ffffff09,0 0 0 80px #ffffff08,0 0 0 150px #ffffff06;
	pointer-events:none
}
.cto-portal .cto-auth-brand {
	position:relative;
	z-index:1
}
.cto-portal .cto-auth-brand .cto-logo img {
	width:230px;
	height:77px
}
.cto-portal .cto-auth-content {
	position:relative;
	max-width:1150px;
	min-height:calc(100vh - 160px);
	display:grid;
	grid-template-columns:1.15fr 1fr;
	align-items:center;
	gap:65px;
	margin:auto
}
.cto-portal .cto-auth-intro {
	padding:20px 0 70px
}
.cto-portal .cto-auth-intro h1 {
	font-size:40px;
	letter-spacing:-1px;
	margin-bottom:16px
}
.cto-portal .cto-auth-intro h2 {
	font-size:24px;
	line-height:1.5;
	font-weight:500;
	letter-spacing:-.3px
}
.cto-portal .cto-auth-intro p {
	max-width:385px;
	font-size:16px;
	line-height:1.75;
	color:#3b537d;
	margin-top:28px
}
.cto-portal .cto-auth-card {
	background:#ffffffed;
	box-shadow:0 12px 55px #3e699629;
	border:1px solid #dae7f8;
	border-radius:8px;
	padding:30px;
	max-width:400px;
	width:100%;
	justify-self:end;
	margin-top:-55px
}
.cto-portal .cto-auth-card h2 {
	font-size:22px;
	margin-bottom:18px
}
.cto-portal .cto-auth-card input {
	font-size:16px!important
}
.cto-portal .cto-auth-card input:not([type=checkbox]):not([type=hidden]) {
	min-height:50px;
	margin:0
}
.cto-portal .cto-auth-card label {
	font-weight:400;
	font-size:13px
}
.cto-portal .cto-password {
	display:grid;
	grid-template-columns:minmax(0,1fr) 48px;
	align-items:stretch;
	width:100%;
	min-width:0;
	border:1px solid #cbdcf7;
	border-radius:6px;
	background:#fff
}
.cto-portal .cto-password:focus-within {
	border-color:var(--cto-blue);
	box-shadow:0 0 0 3px #034ce71a
}
.cto-portal .cto-auth-card .cto-password>input[type] {
	position:static;
	width:100%;
	min-width:0;
	min-height:48px;
	height:48px;
	margin:0;
	padding:12px 14px;
	line-height:24px;
	border:0;
	border-radius:6px 0 0 6px;
	background:transparent;
	box-shadow:none;
	outline:none
}
.cto-portal .cto-password>button.cto-password-toggle {
	appearance:none;
	-webkit-appearance:none;
	display:inline-flex;
	position:static;
	inset:auto;
	transform:none;
	align-items:center;
	justify-content:center;
	width:48px;
	min-width:48px;
	max-width:48px;
	height:48px;
	min-height:48px;
	margin:0;
	padding:0;
	border:0;
	border-left:1px solid #e3ecfa;
	border-radius:0 6px 6px 0;
	background:transparent;
	box-shadow:none;
	color:#46618f;
	line-height:1;
	text-transform:none
}
.cto-portal .cto-password>button.cto-password-toggle:hover {
	background:#edf4ff;
	color:var(--cto-blue-dark)
}
.cto-portal .cto-password>button.cto-password-toggle:focus-visible {
	outline:2px solid var(--cto-blue);
	outline-offset:-4px
}
.cto-portal .cto-password-toggle::before,.cto-portal .cto-password-toggle::after {
	display:none
}
.cto-portal .cto-login-options {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:17px 0 28px;
	font-size:11px;
	gap:10px
}
.cto-portal .cto-login-options .cto-check {
	display:flex;
	align-items:center;
	gap:7px;
	font-size:11px;
	margin:0
}
.cto-portal .cto-login-options a {
	text-decoration:underline;
	font-size:11px
}
.cto-portal .cto-auth-card .cto-full {
	margin-top:14px
}
.cto-portal .cto-back-login {
	display:block;
	text-align:center;
	margin-top:18px;
	font-size:12px
}
.cto-portal .cto-auth-card .cto-message {
	font-size:12px
}
@media(min-width:1440px) {
	.cto-portal .cto-main {
		padding-top:46px
	}
	.cto-portal .cto-case-cover {
		aspect-ratio:1.45
	}
}
@media(max-width:1100px) {
	.cto-portal .cto-header-inner {
		gap:26px;
		padding:16px 28px
	}
	.cto-portal .cto-header-actions {
		gap:12px
	}
	.cto-portal .cto-account summary>span:not(.cto-avatar) {
		display:none
	}
	.cto-portal .cto-main {
		padding:30px 28px 50px
	}
	.cto-portal .cto-footer {
		margin:0 28px
	}
	.cto-portal .cto-single-columns {
		grid-template-columns:1.25fr 1fr;
		gap:22px
	}
	.cto-portal .cto-gallery-thumbs {
		width:64px
	}
	.cto-portal .cto-gallery-thumbs button {
		min-height:58px;
		height:58px
	}
	.cto-portal .cto-owned-actions {
		gap:6px
	}
	.cto-portal .cto-owned-actions .cto-button {
		padding:8px 10px
	}
	.cto-portal .cto-auth-content {
		gap:35px
	}
	.cto-portal .cto-auth-intro h1 {
		font-size:34px
	}
	.cto-portal .cto-auth-intro h2 {
		font-size:21px
	}
}
@media(max-width:820px) {
	.cto-portal .cto-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:17px
	}
	.cto-portal .cto-form-columns {
		grid-template-columns:1fr 1fr;
		gap:16px
	}
	.cto-portal .cto-panel {
		padding:18px
	}
	.cto-portal .cto-single-columns {
		grid-template-columns:1fr
	}
	.cto-portal .cto-gallery-main {
		aspect-ratio:1.4
	}
	.cto-portal .cto-gallery-thumbs {
		width:95px;
		max-height:380px
	}
	.cto-portal .cto-gallery-thumbs button {
		height:77px;
		min-height:77px
	}
	.cto-portal .cto-case-info {
		display:block
	}
	.cto-portal .cto-owned-case {
		flex-wrap:wrap
	}
	.cto-portal .cto-owned-info {
		min-width:60%
	}
	.cto-portal .cto-owned-actions {
		margin-left:100px
	}
	.cto-portal .cto-profile-facts {
		grid-template-columns:1fr 1fr;
		gap:20px
	}
	.cto-portal .cto-profile-facts>div:nth-child(2) {
		border:0
	}
	.cto-portal .cto-auth {
		padding:25px 5%
	}
	.cto-portal .cto-auth-content {
		gap:25px
	}
	.cto-portal .cto-auth-intro h2 {
		font-size:19px
	}
	.cto-portal .cto-auth-intro p {
		font-size:14px
	}
	.cto-portal .cto-auth-card {
		padding:24px
	}
}
@media(max-width:620px) {
	.cto-portal {
		font-size:14px
	}
	.cto-portal h1 {
		font-size:26px
	}
	.cto-portal .cto-header-inner {
		padding:13px 16px;
		gap:12px;
		min-height:76px;
		flex-wrap:wrap
	}
	.cto-portal .cto-header .cto-logo img {
		width:154px;
		height:51px
	}
	.cto-portal .cto-header-actions {
		gap:10px;
		order:3;
		width:100%;
		margin-left:0
	}
	.cto-portal .cto-header-actions .cto-account {
		margin-left:auto
	}
	.cto-portal .cto-header-actions>.cto-button {
		font-size:11px;
		padding:9px 10px
	}
	.cto-portal .cto-search-nav {
		display:none
	}
	.cto-portal .cto-nav {
		order:2;
		width:100%;
		padding-top:5px
	}
	.cto-portal .cto-nav a {
		font-size:12px
	}
	.cto-portal .cto-account summary {
		gap:3px
	}
	.cto-portal .cto-account summary>svg {
		display:none
	}
	.cto-portal .cto-account summary .cto-avatar {
		width:32px;
		height:32px
	}
	.cto-portal .cto-main {
		padding:25px 16px 40px
	}
	.cto-portal .cto-page-heading p {
		font-size:13px;
		line-height:1.7;
		margin-top:9px
	}
	.cto-portal .cto-search {
		margin-bottom:20px;
		gap:8px
	}
	.cto-portal .cto-search-field {
		padding:0 10px;
		gap:8px
	}
	.cto-portal .cto-search input {
		font-size:11px
	}
	.cto-portal .cto-search .cto-search-submit {
		min-width:76px;
		padding:10px 14px
	}
	.cto-portal .cto-grid {
		gap:15px;
		grid-template-columns:1fr
	}
	.cto-portal .cto-case-cover {
		aspect-ratio:1.65
	}
	.cto-portal .cto-card-body {
		padding:16px 18px
	}
	.cto-portal .cto-card-body h2 {
		font-size:18px;
		min-height:0;
		margin-bottom:15px
	}
	.cto-portal .cto-card-body .cto-meta {
		justify-content:flex-start;
		gap:24px
	}
	.cto-portal .cto-form-columns {
		grid-template-columns:1fr
	}
	.cto-portal .cto-form-columns textarea {
		min-height:235px
	}
	.cto-portal .cto-panel {
		padding:19px
	}
	.cto-portal .cto-dropzone {
		min-height:220px
	}
	.cto-portal .cto-form-actions .cto-button {
		font-size:12px;
		padding:12px 18px
	}
	.cto-portal .cto-single-heading {
		flex-wrap:wrap;
		gap:14px
	}
	.cto-portal .cto-single-heading h1 {
		font-size:25px;
		flex:1 1 100%
	}
	.cto-portal .cto-single-meta {
		gap:15px;
		flex-wrap:wrap
	}
	.cto-portal .cto-single-meta>.cto-meta {
		width:100%
	}
	.cto-portal .cto-gallery {
		flex-direction:column
	}
	.cto-portal .cto-gallery-main {
		aspect-ratio:1.05;
		flex:auto;
		width:100%
	}
	.cto-portal .cto-gallery-thumbs {
		width:100%;
		flex-direction:row
	}
	.cto-portal .cto-gallery-thumbs button {
		width:73px;
		height:64px;
		min-height:64px
	}
	.cto-portal .cto-comment-form {
		gap:9px
	}
	.cto-portal .cto-comment-form .cto-avatar {
		width:32px;
		height:32px
	}
	.cto-portal .cto-comment-form .cto-button {
		margin-left:41px;
		min-height:42px
	}
	.cto-portal .cto-comment-list {
		padding-left:0
	}
	.cto-portal .cto-profile-heading {
		grid-template-columns:66px minmax(0,1fr);
		gap:13px
	}
	.cto-portal .cto-profile-heading>.cto-avatar {
		width:66px;
		height:66px;
		--avatar-size:66px!important
	}
	.cto-portal .cto-profile-heading h1 {
		font-size:20px
	}
	.cto-portal .cto-profile-heading .cto-profile-toggle {
		grid-column:2;
		justify-self:start;
		margin:0
	}
	.cto-portal .cto-profile-facts {
		font-size:11px;
		gap:18px
	}
	.cto-portal .cto-profile-facts>div {
		padding:0 13px
	}
	.cto-portal .cto-profile-fields {
		grid-template-columns:1fr
	}
	.cto-portal .cto-my-cases {
		margin-top:30px
	}
	.cto-portal .cto-section-heading {
		align-items:flex-start
	}
	.cto-portal .cto-section-heading h2 {
		font-size:18px;
		max-width:175px
	}
	.cto-portal .cto-section-heading .cto-button {
		font-size:10px;
		padding:9px 10px
	}
	.cto-portal .cto-owned-case {
		padding:10px;
		gap:11px
	}
	.cto-portal .cto-owned-cover {
		width:62px;
		height:62px
	}
	.cto-portal .cto-owned-info {
		min-width:60%
	}
	.cto-portal .cto-owned-info h3 {
		font-size:13px;
		margin-bottom:6px
	}
	.cto-portal .cto-owned-info .cto-meta {
		font-size:9px;
		gap:10px
	}
	.cto-portal .cto-owned-actions {
		margin-left:0;
		width:100%;
		justify-content:flex-end
	}
	.cto-portal .cto-owned-actions .cto-button {
		font-size:11px;
		min-height:38px;
		padding:8px 12px
	}
	.cto-portal .cto-footer {
		margin:0 16px;
		gap:15px;
		font-size:10px
	}
	.cto-portal .cto-footer span {
		max-width:200px;
		text-align:right
	}
	.cto-portal .cto-auth {
		padding:24px 20px;
		min-height:100vh
	}
	.cto-portal .cto-auth-brand .cto-logo img {
		width:135px;
		height:45px
	}
	.cto-portal .cto-auth-content {
		display:flex;
		flex-direction:column;
		align-items:stretch;
		gap:25px;
		min-height:0;
		padding:45px 0
	}
	.cto-portal .cto-auth-intro {
		padding:0
	}
	.cto-portal .cto-auth-intro h1 {
		font-size:31px;
		margin-bottom:10px
	}
	.cto-portal .cto-auth-intro h2 {
		font-size:19px
	}
	.cto-portal .cto-auth-intro p {
		margin-top:16px;
		font-size:13px;
		max-width:320px
	}
	.cto-portal .cto-auth-card {
		margin:0;
		max-width:none;
		padding:24px
	}
	.cto-portal .cto-auth-card h2 {
		font-size:21px
	}
	.cto-portal .cto-auth:before {
		right:-60%;
		width:130vw;
		height:70vh;
		top:25%
	}
}
@media(prefers-reduced-motion:reduce) {
	.cto-portal * {
		scroll-behavior:auto!important;
		transition:none!important
	}
}
.cto-portal h1,.cto-portal h2,.cto-portal h3 {
	font-family:CTOCondensed,Arial,Helvetica,sans-serif
}
.cto-portal .cto-card-body h2 {
	font-size:19px
}
.cto-portal p,.cto-portal input,.cto-portal textarea,.cto-portal button,.cto-portal label {
	font-family:Arial,Helvetica,sans-serif
}
.cto-portal .cto-editor {
	border:1px solid #cbdcf7;
	border-radius:6px;
	background:#fff;
	overflow:hidden
}
.cto-portal .cto-editor-toolbar {
	display:flex;
	gap:3px;
	padding:5px 8px;
	border-bottom:1px solid #e2ebfa;
	background:#fbfcff
}
.cto-portal .cto-editor-toolbar button {
	display:flex;
	flex:0 0 34px;
	width:34px;
	max-width:34px;
	align-items:center;
	justify-content:center;
	border:0;
	background:none;
	min-width:34px;
	min-height:34px;
	border-radius:3px;
	color:#173768;
	font-size:13px
}
.cto-portal .cto-editor-toolbar button:hover {
	background:#e6efff
}
.cto-portal .cto-rich-editor {
	min-height:270px;
	padding:14px;
	outline:none;
	font:13px/1.75 Arial,Helvetica,sans-serif;
	overflow-wrap:anywhere
}
.cto-portal .cto-rich-editor p {
	margin:0 0 8px
}
.cto-portal .cto-rich-editor:empty:before {
	content:attr(data-placeholder);
	color:#7b8cab;
	pointer-events:none
}
.cto-portal .cto-rich-editor:focus {
	box-shadow:inset 0 0 0 2px #a7c8ff
}
.cto-portal .cto-rich-editor ul,.cto-portal .cto-rich-editor ol {
	padding-left:24px;
	margin:8px 0
}
.cto-portal h3 {
	font-weight:700
}
@media(max-width:620px) {
	.cto-portal .cto-comment-form textarea {
		flex:1 1 calc(100% - 44px)
	}
	.cto-portal .cto-comment-form .cto-button {
		margin-left:41px
	}
}
