
.tri-portal-shell{
  --navy:#080660;--blue:#2C8FC8;--blue2:#0D79B4;--ice:#F4F8FC;--border:#DCE6F2;--text:#3D4258;
  max-width:1380px;margin:0 auto;padding:38px 22px 72px;font-family:inherit;color:var(--text)
}
.tri-portal-shell *{box-sizing:border-box}
.tri-portal-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.tri-portal-top h1{margin:0;color:var(--navy);font-size:clamp(28px,4vw,42px);line-height:1.05}
.tri-portal-top p{margin:7px 0 0;color:#6C7184}
.tri-portal-user{text-align:right}.tri-portal-user strong{display:block;color:var(--navy)}.tri-portal-user a{font-size:13px}
.tri-portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.tri-portal-kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 19px;box-shadow:0 5px 18px rgba(8,6,96,.045)}
.tri-portal-kpi span{display:block;color:#777D8F;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.tri-portal-kpi strong{display:block;color:var(--navy);font-size:28px;margin-top:6px}
.tri-portal-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}
.tri-portal-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 5px 18px rgba(8,6,96,.04)}
.tri-portal-panel h2{margin:0 0 15px;color:var(--navy);font-size:20px}
.tri-client-list{display:grid;gap:11px}.tri-client-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;border:1px solid #E3EAF4;border-radius:12px;background:#fff;transition:border-color .18s,box-shadow .18s}.tri-client-card:hover{border-color:#BFD5E8;box-shadow:0 6px 18px rgba(8,6,96,.045)}
.tri-client-main{min-width:0}.tri-client-main strong{display:block;color:var(--navy);font-size:15px}.tri-client-main small{display:block;color:#757B8F;margin-top:4px;word-break:break-word}
.tri-client-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.tri-btn{appearance:none;border:1px solid var(--navy);border-radius:8px;padding:9px 13px;background:#fff;color:var(--navy);font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none!important;transition:transform .15s,box-shadow .15s,background .15s}
.tri-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(8,6,96,.10)}.tri-btn.primary{background:var(--navy);color:#fff}.tri-btn.blue{border-color:var(--blue);background:var(--blue);color:#fff}.tri-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.tri-badge{display:inline-flex;padding:5px 8px;border-radius:20px;background:#EDF5FB;color:#246F9C;font-size:10px;font-weight:800}.tri-badge.done{background:#EDF9F1;color:#19723D}.tri-badge.warn{background:#FFF3EB;color:#925617}
.tri-category-row{display:flex;gap:8px}.tri-category-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:10px 11px}.tri-cat-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tri-login{max-width:440px;margin:70px auto;padding:26px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 35px rgba(8,6,96,.07)}.tri-login h2{color:var(--navy);margin-top:0}.tri-login input[type=text],.tri-login input[type=password]{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px}.tri-login input[type=submit]{width:100%;border:0;border-radius:8px;background:var(--navy);color:#fff;padding:12px;font-weight:800;cursor:pointer}

/* Modal do cliente */
.tri-modal{position:fixed;inset:0;z-index:999999;display:none}.tri-modal.is-open{display:block}.tri-modal-bg{position:absolute;inset:0;background:rgba(3,6,35,.64);backdrop-filter:blur(4px)}
.tri-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1360px,calc(100vw - 34px));height:min(900px,calc(100dvh - 28px));background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 28px 85px rgba(0,0,0,.26);display:flex;flex-direction:column}
.tri-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-bottom:1px solid var(--border);background:#fff}.tri-modal-head h3{margin:0;color:var(--navy);font-size:21px;line-height:1.2}.tri-modal-head small{display:block;margin-top:4px;color:#7A8092}.tri-modal-close{border:0;background:#F2F5F9;border-radius:50%;width:38px;height:38px;font-size:22px;line-height:1;cursor:pointer;color:#4D5365}
.tri-modal-tabs{display:flex;gap:6px;padding:11px 24px;border-bottom:1px solid var(--border);overflow:auto;background:#fff}.tri-modal-tab{white-space:nowrap;border:0!important;background:transparent!important;border-radius:9px!important;padding:10px 14px!important;color:#5F6478!important;font-size:12px!important;font-weight:800!important;cursor:pointer;text-transform:none!important}.tri-modal-tab.is-active{background:#EAF4FC!important;color:#0B70AD!important}
.tri-modal-body{flex:1;overflow:auto;padding:24px 28px 34px;background:#FBFCFE;scrollbar-gutter:stable}.tri-tab-pane{display:none;width:100%}.tri-tab-pane.is-active{display:block}
.tri-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid var(--border);background:#fff}.tri-save-state{font-size:12px;color:#6F7486}.tri-save-state.ok{color:#19723D}.tri-save-state.error{color:#B42318}.tri-footer-actions{display:flex;gap:8px}

/* Seções */
.tri-form-section{width:100%;border:1px solid var(--border);border-radius:13px;margin:0 0 18px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(8,6,96,.025)}
.tri-form-section-head{padding:16px 19px;background:#F5F8FC;border-bottom:1px solid #E7EDF5}.tri-form-section-head h4{margin:0;color:var(--navy);font-size:16px;line-height:1.25}.tri-form-section-head p{margin:5px 0 0;color:#767B8D;font-size:12px;line-height:1.5}
.tri-form-section-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 14px;padding:19px}
.tri-field{grid-column:span 6;min-width:0}.tri-field.full{grid-column:1/-1}.tri-field.third{grid-column:span 4}.tri-field.quarter{grid-column:span 3}
.tri-field>label{display:block;color:var(--navy)!important;font-size:12px!important;font-weight:800!important;margin:0 0 7px!important;line-height:1.35!important}
.tri-field input,.tri-field select,.tri-field textarea{width:100%!important;min-width:0!important;min-height:46px!important;border:1px solid var(--border)!important;border-radius:9px!important;padding:10px 12px!important;font:inherit!important;color:var(--text)!important;background:#fff!important;box-shadow:none!important;line-height:1.35!important}
.tri-field textarea{min-height:100px!important;resize:vertical}.tri-field input:focus,.tri-field select:focus,.tri-field textarea:focus{outline:0!important;border-color:#70B0D6!important;box-shadow:0 0 0 3px rgba(44,143,200,.10)!important}.tri-field input[readonly],.tri-field textarea[readonly]{background:#F3F5F8!important;color:#747A8C!important}

/* Opções da ficha: cards horizontais reais */
.tri-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:100%}
.tri-choice{position:relative;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-height:48px!important;margin:0!important;padding:11px 13px!important;border:1px solid #D9E4EF!important;border-radius:10px!important;background:#fff!important;color:#171A57!important;font-size:13px!important;font-weight:700!important;line-height:1.3!important;cursor:pointer!important;transition:border-color .16s,background .16s,box-shadow .16s!important}
.tri-choice:hover{border-color:#A8CBE1!important;background:#F9FCFE!important}.tri-choice:has(input:checked){border-color:#69ADD4!important;background:#EEF7FC!important;box-shadow:0 0 0 2px rgba(44,143,200,.08)!important}
.tri-choice input[type=radio],.tri-choice input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;display:inline-block!important;position:relative!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border:1.5px solid #8D96A9!important;background:#fff!important;box-shadow:none!important;vertical-align:middle!important}
.tri-choice input[type=radio]{border-radius:50%!important}.tri-choice input[type=checkbox]{border-radius:5px!important}.tri-choice input[type=radio]:checked{border-color:#177DB8!important;background:#177DB8!important;box-shadow:inset 0 0 0 4px #fff!important}.tri-choice input[type=checkbox]:checked{border-color:#177DB8!important;background:#177DB8!important;box-shadow:inset 0 0 0 3px #fff!important}.tri-choice-text{display:block;min-width:0;text-align:left}

/* Cadastro do cliente */
.tri-profile-grid{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:15px 14px!important;width:100%!important;min-width:0!important}
.tri-profile-field{grid-column:span 6;min-width:0}.tri-profile-field.span-2{grid-column:span 2}.tri-profile-field.span-3{grid-column:span 3}.tri-profile-field.span-4{grid-column:span 4}.tri-profile-field.span-5{grid-column:span 5}.tri-profile-field.span-6{grid-column:span 6}.tri-profile-field.span-8{grid-column:span 8}.tri-profile-field.span-9{grid-column:span 9}.tri-profile-field.full{grid-column:1/-1}
.tri-profile-field label{display:block;font-size:11px!important;font-weight:800!important;color:var(--navy)!important;margin:0 0 6px!important;line-height:1.35!important}.tri-profile-field input,.tri-profile-field textarea{width:100%!important;min-width:0!important;border:1px solid var(--border)!important;border-radius:9px!important;padding:10px 12px!important;min-height:46px!important;background:#fff!important;color:#33384D!important;font:inherit!important;box-shadow:none!important}.tri-profile-field textarea{min-height:88px!important;resize:vertical}.tri-profile-field input:focus,.tri-profile-field textarea:focus{outline:0!important;border-color:#70B0D6!important;box-shadow:0 0 0 3px rgba(44,143,200,.10)!important}
.tri-profile-save{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:3px}

.tri-docs{display:grid;gap:10px}.tri-doc{padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:#fff}.tri-doc strong{display:block;color:var(--navy);margin-bottom:7px}.tri-history{display:grid;gap:10px}.tri-history-item{padding:12px 14px;border-left:3px solid var(--blue);background:#F7FAFD;border-radius:7px}.tri-history-item strong{color:var(--navy)}.tri-history-item small{display:block;color:#757A8B;margin-top:4px}

@media(max-width:1050px){.tri-field,.tri-profile-field,.tri-profile-field.span-2,.tri-profile-field.span-3,.tri-profile-field.span-4,.tri-profile-field.span-5,.tri-profile-field.span-6,.tri-profile-field.span-8,.tri-profile-field.span-9{grid-column:span 6}.tri-profile-field.full,.tri-field.full{grid-column:1/-1}}
@media(max-width:900px){.tri-portal-kpis{grid-template-columns:1fr 1fr}.tri-portal-grid{grid-template-columns:1fr}.tri-modal-card{width:100vw;height:100dvh;border-radius:0}.tri-modal-body{padding:16px}.tri-modal-tabs{padding-left:12px;padding-right:12px}.tri-modal-head{padding:15px 17px}.tri-modal-footer{padding:12px 15px}.tri-portal-top{align-items:flex-start;flex-direction:column}.tri-portal-user{text-align:left}.tri-form-section-body,.tri-profile-grid{grid-template-columns:1fr!important}.tri-field,.tri-field.third,.tri-field.quarter,.tri-field.full,.tri-profile-field,.tri-profile-field.span-2,.tri-profile-field.span-3,.tri-profile-field.span-4,.tri-profile-field.span-5,.tri-profile-field.span-6,.tri-profile-field.span-8,.tri-profile-field.span-9,.tri-profile-field.full{grid-column:1/-1!important}.tri-choice-grid{grid-template-columns:1fr}.tri-modal-footer{align-items:flex-start;flex-direction:column}.tri-footer-actions{width:100%;justify-content:flex-end}}
@media(max-width:520px){.tri-portal-kpis{grid-template-columns:1fr}.tri-client-card{align-items:flex-start;flex-direction:column}.tri-client-actions{justify-content:flex-start}.tri-modal-tabs{gap:3px}.tri-modal-tab{padding:9px 10px!important}.tri-footer-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.tri-footer-actions .tri-btn{width:100%}}
