:root{
  --green:#0d6b43;--green-dark:#06472c;--green-soft:#e8f5ed;
  --red:#b92f3b;--yellow:#f2c94c;--ink:#14231c;--muted:#64726a;
  --line:#dbe7de;--bg:#f3f7f4;--card:#fff;--radius:20px;
  --shadow:0 16px 40px rgba(18,51,34,.10);--safe-bottom:max(16px,env(safe-area-inset-bottom,0px))
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}button:active{transform:scale(.98)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #78c89b;outline-offset:2px}
.login{min-height:100dvh;display:grid;place-items:center;padding:24px;padding-bottom:calc(24px + var(--safe-bottom));position:relative;isolation:isolate;background:linear-gradient(135deg,rgba(4,56,33,.91),rgba(12,102,64,.78)),url('https://estado.rs.gov.br/upload/recortes/201707/28095927_1267705_GD.png') center/cover no-repeat fixed}.login:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 8%,rgba(242,201,76,.45),transparent 28%),radial-gradient(circle at 10% 95%,rgba(185,47,59,.42),transparent 34%)}.close-app-btn{position:absolute;top:max(18px,env(safe-area-inset-top,0px));right:18px;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:25px;line-height:1;z-index:1;backdrop-filter:blur(8px)}.close-app-btn:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}.login-card{width:min(100%,450px);background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.7);border-radius:28px;padding:32px;box-shadow:0 24px 70px rgba(0,27,15,.35);backdrop-filter:blur(14px)}.flag{height:76px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--green) 0 43%,var(--red) 43% 66%,var(--yellow) 66%);margin-bottom:25px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}.flag:after{content:"CTG";display:grid;place-items:center;position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--green-dark);font-weight:900;letter-spacing:.04em;left:calc(50% - 26px);top:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.eyebrow{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.13em;color:var(--green)}h1{font-size:clamp(27px,5vw,34px);letter-spacing:-.04em;margin:5px 0 8px;line-height:1.05}h2{margin:0;font-size:20px;letter-spacing:-.02em}p{line-height:1.55}.muted{color:var(--muted);font-size:14px}.field{display:grid;gap:7px;margin:16px 0}.field label{font-size:13px;font-weight:800;color:#294235}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink);box-shadow:0 1px 1px rgba(7,36,21,.02);transition:border-color .18s ease,box-shadow .18s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:#55ae7d;box-shadow:0 0 0 4px rgba(85,174,125,.14);outline:0}.field textarea{resize:vertical;min-height:88px}.inline-field{display:flex;gap:8px;align-items:stretch}.inline-field input{min-width:0;flex:1}.lookup-btn{padding-inline:14px;white-space:nowrap}.lookup-status{min-height:18px;font-size:12px;font-weight:750;color:var(--green-dark)}.field input[readonly]{background:#f1f6f2;color:#466052;font-weight:750}.birth-age{font-size:13px;font-weight:850;color:var(--green-dark);min-height:18px}.phone-type{display:flex;gap:10px;align-items:center;margin-top:2px}.phone-type label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;background:#f3f8f4;padding:8px 10px;border-radius:10px}.phone-type input{width:auto;margin:0;accent-color:var(--green)}
.primary,.secondary,.danger{padding:13px 16px;border-radius:13px;font-weight:850;letter-spacing:.01em}.primary{background:linear-gradient(135deg,var(--green),#168050);color:#fff;width:100%;box-shadow:0 8px 16px rgba(13,107,67,.22)}.primary:hover{box-shadow:0 11px 20px rgba(13,107,67,.30);transform:translateY(-1px)}.secondary{background:var(--green-soft);color:var(--green-dark)}.secondary:hover{background:#dcefe3}.danger{background:#feeaec;color:#a6222f}.hint{font-size:12px;color:var(--muted);margin:14px 0 0}.hint b{color:var(--green-dark)}
.shell{max-width:1240px;margin:auto;min-height:100dvh}.topbar{padding:14px clamp(16px,4vw,30px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(219,231,222,.9);position:sticky;top:0;z-index:2;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.02em}.mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,var(--green) 0 43%,var(--red) 43% 67%,var(--yellow) 67%);box-shadow:0 5px 12px rgba(13,107,67,.2)}.top-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border-radius:13px;background:#edf5ef;color:var(--green-dark);font-size:20px}.icon-btn:hover{background:#dcefe3}.content{padding:clamp(16px,4vw,32px);padding-bottom:calc(clamp(16px,4vw,32px) + var(--safe-bottom));max-width:1120px;margin:auto}.hero{background:linear-gradient(120deg,#06472c,#107846 64%,#268b5e);color:#fff;padding:clamp(21px,4vw,30px);border-radius:24px;display:flex;gap:20px;justify-content:space-between;align-items:center;box-shadow:0 16px 32px rgba(6,71,44,.20);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-110px;top:-155px;background:rgba(242,201,76,.16)}.hero h1{position:relative}.entity-logo{width:68px;height:68px;background:#fff;border-radius:18px;object-fit:cover;color:var(--green);display:grid;place-items:center;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.15);z-index:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{background:var(--card);padding:17px;border-radius:17px;border:1px solid var(--line);box-shadow:0 5px 16px rgba(18,51,34,.04)}.stat b{display:block;font-size:24px;margin-top:5px;letter-spacing:-.04em;color:var(--green-dark)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 13px}.member-list{display:grid;gap:10px}.member{background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px;display:flex;align-items:center;gap:13px;box-shadow:0 4px 13px rgba(18,51,34,.035);transition:transform .18s ease,box-shadow .18s ease}.member:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.avatar{width:46px;height:46px;border-radius:15px;object-fit:cover;background:#e7f2e9;display:grid;place-items:center;font-weight:900;color:var(--green)}.member-main{flex:1;min-width:0}.member-main b{display:block}.member-main .muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-code-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(110deg,#edf8f0,#f9fcf9);border:1px solid #c8e4d1;border-radius:17px;padding:15px 17px;margin:20px 0;box-shadow:0 5px 14px rgba(13,107,67,.06)}.member-code-panel span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--green)}.member-code-panel b,.member-code{font-size:16px;font-weight:900;letter-spacing:.04em;color:var(--ink)}.pill{font-size:12px;background:#edf7ef;color:var(--green-dark);padding:6px 9px;border-radius:99px;font-weight:800}.empty{background:#fff;border:1px dashed #a9cbb3;padding:30px;border-radius:17px;text-align:center;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(8,28,17,.58);z-index:5;display:grid;align-items:end;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom,0px));backdrop-filter:blur(3px)}.sheet{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));overflow:auto;background:#fff;border-radius:24px;padding:24px;padding-bottom:calc(24px + var(--safe-bottom));animation:up .22s cubic-bezier(.2,.8,.2,1);box-shadow:0 24px 60px rgba(0,0,0,.25)}@keyframes up{from{transform:translateY(24px);opacity:.4}}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-header{align-items:flex-start}.profile-actions{display:flex;align-items:center;gap:10px}.profile-photo{width:58px;height:58px;border-radius:17px;object-fit:cover;border:2px solid #e1eee5;box-shadow:0 5px 12px rgba(18,51,34,.1)}.profile-photo-empty{display:grid;place-items:center;background:#e7f2e9;color:var(--green);font-weight:900}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.full{grid-column:1/-1}.form-actions{display:flex;gap:10px;margin-top:20px}.sheet .form-actions{position:sticky;bottom:calc(-24px - var(--safe-bottom));z-index:2;margin:20px -24px -24px;padding:22px 24px calc(16px + var(--safe-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 24%);border-top:1px solid rgba(219,231,222,.82);box-shadow:0 -10px 24px rgba(18,51,34,.06)}.form-actions .primary{width:auto;flex:1;min-height:52px}.form-actions .secondary,.form-actions .danger{min-height:52px}.photo-row{display:flex;align-items:center;gap:12px}.photo-preview{width:76px;height:76px;border-radius:18px;background:#eef5ef;object-fit:cover;border:1px solid var(--line)}.photo-input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.photo-actions{display:flex;gap:10px}.photo-icon-btn{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--green-soft);color:var(--green-dark);font-size:22px;box-shadow:0 4px 10px rgba(13,107,67,.08)}.photo-icon-btn:hover{background:#d9efdf;transform:translateY(-2px)}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px;padding-bottom:2px}.tab{white-space:nowrap;background:#edf4ef;color:var(--green-dark);padding:10px 13px;border-radius:11px;font-size:13px;font-weight:850}.tab.active{background:var(--green);color:#fff;box-shadow:0 6px 13px rgba(13,107,67,.22)}.admin-warning{background:#fff8e4;border:1px solid #f2dfa3;padding:13px;border-radius:13px;font-size:13px;color:#685110}.logo-upload{display:flex;align-items:center;gap:14px}.logo-upload label{color:var(--green);font-weight:850;font-size:14px;cursor:pointer}.logo-upload input{display:none}
@media(max-width:560px){.login{padding:18px}.login-card{padding:25px;border-radius:24px}.content{padding:16px;padding-bottom:calc(16px + var(--safe-bottom))}.hero{padding:20px;border-radius:20px}.stats{gap:8px}.stat{padding:13px}.stat b{font-size:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.member{padding:12px}.member-code-panel{align-items:flex-start;flex-direction:column;gap:4px}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.sheet{padding:20px;border-radius:22px 22px 0 0}.profile-photo{width:52px;height:52px}}
@media(min-width:760px){.sheet{width:min(720px,calc(100% - 32px));margin:auto;border-radius:24px}.overlay{align-items:center}.member-list{grid-template-columns:1fr 1fr}}
.member-card-btn{padding:9px 11px;font-size:12px;white-space:nowrap}.card-sheet{width:min(860px,calc(100% - 20px))}.ctg-card{position:relative;overflow:hidden;border-radius:24px;padding:22px;color:#fff;isolation:isolate;box-shadow:0 18px 38px rgba(0,0,0,.28);min-height:340px;background:#062e57}.ctg-card.artistico{background:linear-gradient(120deg,rgba(3,25,58,.94),rgba(4,49,94,.88))}.ctg-card.campeiro{background:linear-gradient(120deg,rgba(53,27,12,.94),rgba(91,51,24,.88))}.ctg-card.patronagem{background:linear-gradient(120deg,rgba(79,9,20,.95),rgba(126,20,38,.88))}.card-watermark{position:absolute;inset:4% 16% 2% 27%;z-index:-1;opacity:.17;clip-path:polygon(18% 1%,61% 6%,89% 26%,82% 47%,95% 63%,66% 84%,40% 99%,12% 80%,3% 47%);background:linear-gradient(145deg,#197343 0 42%,#a92035 42% 66%,#e0b52d 66%);display:grid;place-items:center;transform:rotate(-7deg)}.card-watermark span{font-size:clamp(100px,24vw,200px);font-weight:1000;color:#fff;opacity:.45}.ctg-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(0,0,0,.18),transparent 70%)}.ctg-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:12px}.ctg-card-header small,.card-field small{display:block;font-size:10px;font-weight:900;letter-spacing:.1em}.ctg-card-header b{display:block;font-size:clamp(18px,3vw,28px);margin-top:3px}.card-flag{width:62px;height:39px;border-radius:7px;border:1px solid rgba(255,255,255,.8);background:linear-gradient(145deg,#197343 0 42%,#b72b38 42% 67%,#f1c83f 67%);box-shadow:0 3px 10px rgba(0,0,0,.25)}.ctg-card-body{display:flex;gap:18px;margin-top:18px}.card-photo{width:30%;min-width:126px;min-height:220px;border:2px solid rgba(255,255,255,.8);border-radius:17px;background:rgba(255,255,255,.16);overflow:hidden;display:grid;place-items:center;font-size:54px;font-weight:900}.card-photo img{width:100%;height:100%;object-fit:cover}.card-data{flex:1;display:grid;gap:15px;min-width:0}.card-field{border-bottom:1px solid rgba(255,255,255,.72);padding-bottom:6px;min-width:0}.card-field b{display:block;font-size:clamp(12px,2.2vw,17px);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card-sash{position:absolute;right:-28px;bottom:-34px;width:150px;height:125px;background:rgba(255,255,255,.96);transform:skewY(-32deg);display:grid;place-items:center;border-left:4px solid rgba(236,203,80,.95)}.card-sash img{width:58px;height:58px;object-fit:contain;transform:skewY(32deg) translate(-6px,-8px)}@media(max-width:560px){.ctg-card{padding:16px;min-height:300px;border-radius:18px}.ctg-card-body{gap:11px}.card-photo{min-width:94px;width:31%;min-height:185px;border-radius:13px}.card-row{gap:8px}.card-field b{font-size:11px}.card-sash{width:108px;height:94px}.card-sash img{width:42px;height:42px}.member-card-btn{padding:8px;font-size:11px}}@media print{body.print-card #app>*{display:none!important}body.print-card #app>.card-overlay{display:block!important;position:static!important;background:#fff!important;padding:0!important}body.print-card .card-sheet{display:block!important;width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important;box-shadow:none!important}body.print-card .card-sheet>.sheet-header,body.print-card .card-sheet>p,body.print-card .form-actions{display:none!important}body.print-card .ctg-card{display:block!important;border-radius:0!important;box-shadow:none!important;width:100%!important;min-height:0!important;break-inside:avoid}}