
:root{
    --blue:#08396f;
    --blue-dark:#05294f;
    --blue-light:#145b9f;
    --green:#087f5b;
    --green-dark:#00664b;
    --red:#bf263d;
    --red-dark:#8d182b;
    --gold:#d17a00;
    --purple:#5d46b5;
    --bg:#edf3f8;
    --surface:#fff;
    --soft:#f5f9fc;
    --text:#172438;
    --muted:#62738a;
    --light:#8795a8;
    --border:#dce6ee;
    --shadow:0 20px 58px rgba(8,57,111,.10);
    --shadow-lg:0 34px 90px rgba(5,41,79,.18);
}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{
    margin:0;min-height:100vh;overflow-x:hidden;
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
    color:var(--text);
    background:
      radial-gradient(circle at 4% 5%,rgba(20,91,159,.13),transparent 29rem),
      radial-gradient(circle at 96% 88%,rgba(8,127,91,.10),transparent 31rem),
      linear-gradient(145deg,#f8fbfd 0%,var(--bg) 52%,#e7eff6 100%);
}
button,input,select,textarea{font:inherit}
a{text-decoration:none}
.top-strip{position:fixed;z-index:1100;top:0;right:0;left:0;height:6px;background:linear-gradient(90deg,var(--blue) 0 58%,#008b66 58% 88%,#e8ad16 88%)}
.bg-grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(8,57,111,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(8,57,111,.028) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 93%)}
.app{position:relative;z-index:2;min-height:100vh;padding-top:6px}
.main-header{
    position:relative;overflow:hidden;margin:20px 20px 0;padding:21px 22px;
    border:1px solid rgba(255,255,255,.18);border-radius:29px;color:#fff;
    background:
      radial-gradient(circle at 82% 0,rgba(255,255,255,.13),transparent 25rem),
      radial-gradient(circle at 0 100%,rgba(0,139,102,.23),transparent 26rem),
      linear-gradient(145deg,var(--blue-dark),var(--blue) 58%,#07537c);
    box-shadow:var(--shadow-lg);
}
.main-header::after{content:"";position:absolute;right:-130px;bottom:-230px;width:440px;height:440px;border:48px solid rgba(255,255,255,.04);border-radius:50%}
.header-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-area{min-width:0;display:flex;align-items:center;gap:15px}
.logo-box{width:70px;height:70px;flex:0 0 70px;display:grid;place-items:center;overflow:hidden;padding:5px;border-radius:22px;background:#fff;box-shadow:0 18px 38px rgba(0,0,0,.18)}
.logo-box img{width:100%;height:100%;object-fit:contain;border-radius:17px}
.eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:rgba(255,255,255,.82);background:rgba(255,255,255,.08);font-size:8px;font-weight:850;letter-spacing:.65px;text-transform:uppercase}
.header-title{margin:0;color:#fff;font-size:clamp(24px,3vw,40px);line-height:1;letter-spacing:-1.2px;font-weight:950}
.header-subtitle{margin:8px 0 0;max-width:760px;color:rgba(255,255,255,.69);font-size:10px;line-height:1.55}
.header-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.header-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:13px;color:#fff;background:rgba(255,255,255,.09);backdrop-filter:blur(10px);font-size:8px;font-weight:900;text-transform:uppercase;transition:.2s ease}
.header-button:hover{color:#fff;background:rgba(255,255,255,.16);transform:translateY(-2px)}
.header-button.primary{color:var(--blue-dark);border-color:#fff;background:#fff}
.main{width:100%;max-width:1740px;margin:auto;padding:17px 20px 34px}
.flash{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:13px 14px;border-radius:16px;font-size:9px;font-weight:800;box-shadow:0 12px 26px rgba(8,57,111,.07)}
.flash.success{color:#076448;border:1px solid #bfe8d9;background:#e8f8f1}
.flash.error{color:#922138;border:1px solid #edc7cf;background:#fff0f3}
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:17px;padding:24px;border:1px solid rgba(255,255,255,.92);border-radius:29px;background:rgba(255,255,255,.84);backdrop-filter:blur(20px);box-shadow:var(--shadow)}
.hero h2{margin:0;max-width:840px;font-size:clamp(27px,3.2vw,44px);line-height:1.02;letter-spacing:-1.6px;font-weight:950}
.hero h2 span{color:var(--blue)}
.hero p{max-width:830px;margin:13px 0 0;color:var(--muted);font-size:11px;line-height:1.65}
.hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}
.hero-tag{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--border);border-radius:999px;color:#536277;background:#fff;font-size:8px;font-weight:800}
.hero-side{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:20px;border-radius:23px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(255,255,255,.14),transparent 15rem),linear-gradient(145deg,var(--blue-dark),var(--blue));box-shadow:0 20px 40px rgba(8,57,111,.2)}
.hero-side small{color:rgba(255,255,255,.68);font-size:7px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
.hero-side strong{display:block;margin-top:10px;font-size:37px;line-height:1;font-weight:950}
.hero-side span{display:block;margin-top:7px;color:rgba(255,255,255,.71);font-size:8px;line-height:1.5}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:14px}
.kpi{position:relative;overflow:hidden;min-height:126px;padding:16px;border:1px solid var(--border);border-radius:21px;background:rgba(255,255,255,.92);box-shadow:0 11px 30px rgba(8,57,111,.06)}
.kpi-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;color:var(--blue);background:#eaf4fc;font-size:18px}
.kpi strong{display:block;margin-top:12px;font-size:28px;line-height:1;font-weight:950}
.kpi span{display:block;margin-top:7px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.kpi.green .kpi-icon{color:var(--green);background:#e8f8f1}
.kpi.gold .kpi-icon{color:var(--gold);background:#fff7e6}
.kpi.red .kpi-icon{color:var(--red);background:#fff0f3}
.kpi.purple .kpi-icon{color:var(--purple);background:#f0edfb}
.panel{margin-top:14px;overflow:hidden;border:1px solid rgba(255,255,255,.92);border-radius:29px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 19px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#f8fbfd)}
.panel-title{display:flex;align-items:center;gap:11px}
.panel-title-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--blue),var(--blue-light));box-shadow:0 12px 25px rgba(8,57,111,.17);font-size:18px}
.panel-head h3{margin:0;font-size:15px;font-weight:900}
.panel-head p{margin:4px 0 0;color:var(--muted);font-size:8px}
.primary-button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--blue-dark),var(--blue));box-shadow:0 12px 26px rgba(8,57,111,.16);font-size:8px;font-weight:900;text-transform:uppercase;cursor:pointer}
.filters{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(160px,.55fr) auto;gap:9px;padding:14px 17px;border-bottom:1px solid var(--border);background:#fbfdfe}
.field{position:relative}
.field>i{position:absolute;z-index:2;top:50%;left:14px;color:var(--blue);transform:translateY(-50%)}
.control{width:100%;min-height:45px;padding:0 12px;border:1px solid var(--border);border-radius:13px;outline:0;color:var(--text);background:var(--soft);font-size:9px;font-weight:700}
.field .control{padding-left:39px}
.control:focus{border-color:var(--blue-light);background:#fff;box-shadow:0 0 0 4px rgba(20,91,159,.1)}
textarea.control{min-height:94px;padding:11px 12px;resize:vertical}
.clear-button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--border);border-radius:13px;color:#536277;background:#fff;font-size:8px;font-weight:900;text-transform:uppercase;cursor:pointer}
.table-wrap{width:100%;overflow:auto}
.data-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0}
.data-table th{position:sticky;z-index:4;top:0;padding:12px 13px;border-bottom:1px solid var(--border);color:#68788c;background:#f5f8fb;font-size:7px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}
.data-table td{padding:13px;border-bottom:1px solid #e9eff5;vertical-align:middle;background:rgba(255,255,255,.89)}
.data-table tbody tr:hover td{background:#f8fbfd}
.item-main{display:flex;align-items:center;gap:10px}
.item-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:13px;color:var(--blue);background:#eaf4fc;font-size:17px}
.item-main strong,.cell-main{display:block;color:var(--text);font-size:9px;font-weight:900}
.item-main small,.cell-sub{display:block;margin-top:4px;color:var(--light);font-size:7px;line-height:1.4}
.status{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid transparent;border-radius:999px;font-size:7px;font-weight:900;white-space:nowrap}
.status.success{color:#086247;border-color:#bfe8d9;background:#e8f8f1}
.status.info{color:#195d90;border-color:#c8e1f3;background:#eaf4fc}
.status.warning{color:#805400;border-color:#edd9aa;background:#fff7e6}
.status.danger{color:#fff;border-color:#8d182b;background:#bf263d}
.status.neutral{color:#59687a;border-color:#d7e0e8;background:#eef2f5}
.status.unknown{color:#8b5900;border-color:#efd69a;background:#fff6dd}
.status.purple{color:#493592;border-color:#d7cef3;background:#f0edfb}
.actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.action{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid var(--border);border-radius:10px;color:#516176;background:#fff;font-size:7px;font-weight:900;white-space:nowrap;cursor:pointer}
.action:hover{color:var(--blue);border-color:#b8cbdc}
.action.green{color:#fff;border-color:var(--green);background:var(--green)}
.action.gold{color:#6b4800;border-color:#e4c56e;background:#ffe9a3}
.action.red{color:#fff;border-color:var(--red);background:var(--red)}
.action.purple{color:#fff;border-color:var(--purple);background:var(--purple)}
.empty{padding:54px 18px;text-align:center;color:var(--muted)}
.empty i{display:block;margin-bottom:12px;color:var(--blue);font-size:38px}
.empty strong{display:block;color:var(--text);font-size:12px;font-weight:900}
.empty span{display:block;margin-top:5px;font-size:8px}
.modal-content{overflow:hidden;border:0;border-radius:24px;box-shadow:0 34px 100px rgba(5,41,79,.3)}
.modal-header{border:0;color:#fff;background:radial-gradient(circle at 90% 0,rgba(255,255,255,.13),transparent 15rem),linear-gradient(145deg,var(--blue-dark),var(--blue))}
.modal-title{font-size:13px;font-weight:900}
.modal-body{padding:19px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.form-group.full{grid-column:1/-1}
.form-group label{display:block;margin-bottom:6px;color:#536277;font-size:7px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.form-help{display:block;margin-top:5px;color:var(--light);font-size:6.5px;line-height:1.4}
.modal-footer{padding:13px 18px;border-top:1px solid var(--border);background:#f8fbfd}
.modal-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid var(--border);border-radius:12px;color:#536277;background:#fff;font-size:8px;font-weight:900;text-transform:uppercase;cursor:pointer}
.modal-button.primary{color:#fff;border-color:var(--blue);background:var(--blue)}
.modal-button.danger{color:#fff;border-color:var(--red);background:var(--red)}
.history-list{display:flex;flex-direction:column;gap:8px}
.history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}
.history-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:#fff}
.history-item strong{display:block;font-size:8px;font-weight:900}
.history-item span{display:block;margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45}
.history-time{color:var(--light);font-size:6.5px;white-space:nowrap}
.page-footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 15px;border:1px solid rgba(255,255,255,.9);border-radius:17px;color:var(--light);background:rgba(255,255,255,.75);font-size:7px;font-weight:650}
@media(max-width:1180px){.header-content{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start}.hero{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.main-header{margin:12px 9px 0;padding:17px;border-radius:23px}.main{padding:13px 9px 28px}.brand-area{align-items:flex-start}.logo-box{width:60px;height:60px;flex-basis:60px}.header-actions{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.header-button{width:100%}.hero{padding:18px;border-radius:23px}.kpis{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}}
@media(max-width:650px){.table-wrap{overflow:visible}.data-table{min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tbody{padding:10px}.data-table tr.data-row{margin-bottom:10px;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(8,57,111,.07)}.data-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid #e9eff5;background:#fff}.data-table td::before{content:attr(data-label);color:var(--light);font-size:6.5px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}.data-table td:last-child{border-bottom:0}.actions{justify-content:flex-start}.kpis{grid-template-columns:1fr}.page-footer{flex-direction:column}.history-item{grid-template-columns:auto 1fr}.history-time{grid-column:2}}
@media print{.top-strip,.bg-grid,.main-header,.hero,.filters,.actions,.primary-button,.page-footer,.modal{display:none!important}body{background:#fff}.main{max-width:none;padding:0}.panel{border:0;box-shadow:none}.table-wrap{overflow:visible}}


/* Pessoa responsável no cadastro principal */
.responsible-form-notice{
    padding:13px 14px;
    border:1px solid #c8e1f3;
    border-radius:15px;
    color:#195d90;
    background:#eaf4fc;
}

.responsible-form-notice strong{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:9px;
    font-weight:900;
}

.responsible-form-notice span{
    display:block;
    margin-top:5px;
    font-size:7px;
    line-height:1.55;
}
