/* 01.3 — contain wide children in their own scroll regions, never clip the workspace. */
body{overflow-x:visible}
.shell,.main,.content,.panel,.panelbody,.grid-main>*,.grid-two>*,.grid-three>*,.globe-layout>*,.formgrid>*,.modalhead>*,.row>*,.pagehead>*,.toolbar>*,.source-strip>*{min-width:0}
.shell{grid-template-columns:224px minmax(0,1fr)}
.main,.content{width:100%;max-width:100%}
.content{max-width:1700px}
.tablewrap,.calendarwrap,.board,.tabs{max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}
.tablewrap{overflow-x:auto;touch-action:pan-x pan-y}
.tablewrap:focus-visible,.board:focus-visible{outline:2px solid #718332;outline-offset:-2px}
.pagehead h1,.clientcard h3,.modalhead h2,.tasktitle,.alertcard,.note,.source-strip,.message,.paper,.lead-row strong,.capital-tile strong{overflow-wrap:anywhere}
.row,.panelhead,.modalfoot,.source-strip{flex-wrap:wrap}
.btn{max-width:100%;white-space:normal;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.pill{max-width:100%;white-space:normal;line-height:1.5;overflow-wrap:anywhere}
.field,.field label,.filters label{min-width:0;max-width:100%}
.field input,.field select,.field textarea{min-width:0;max-width:100%}
.checklist label{align-items:flex-start}.checklist input{flex:0 0 18px;margin-top:3px}
.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.modalhead>.row{flex:1}.modalhead>.close{flex-shrink:0}.modalbody{min-width:0}
dialog{overflow-x:hidden;overflow-y:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}
.modalfoot{gap:8px}.modalfoot .btn{flex:0 1 auto}
.paper ul{padding-left:20px}.paperband{overflow-wrap:anywhere}
.taskcard{touch-action:auto}.column{width:260px;min-width:260px}
.table-hint,.board-hint{color:#777f69;font-size:10px;line-height:1.7;margin:10px 0}
.project-context{padding:15px 18px;background:#edf3d6;border:1px solid #dfe8c4;border-radius:10px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.project-context strong{display:block;line-height:1.7;overflow-wrap:anywhere}.project-context small{color:#727b62;line-height:1.7}
.project-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
.project-actions .btn{width:100%;min-height:44px}
@media(max-width:1366px){
 .shell{grid-template-columns:minmax(0,1fr)}
 .sidebar{display:none;position:fixed;left:0;top:0;width:min(280px,86vw);height:100dvh;z-index:55;box-shadow:12px 0 40px #0002;padding:25px 16px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .sidebar.open{display:flex}.sidebar.open~.nav-shade{display:block;position:fixed;inset:0;background:#16231266;z-index:50}
 .mobilemenu{display:inline-flex;min-width:44px;min-height:44px}
 .topbar{position:sticky;top:0;z-index:30;padding:10px 20px;height:auto;min-height:64px;flex-wrap:wrap}
 .breadcrumb{margin-right:auto}.toptools{min-width:0;gap:8px;margin-left:auto}
 .content{padding:24px}.nav{min-height:44px}
 .pagehead{align-items:flex-start;flex-wrap:wrap}.pagehead>.actions{flex-wrap:wrap}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grid-main{grid-template-columns:minmax(0,1fr)}
 .grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .globe-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
 .btn,.tab,.toggle button,.profile-select,.filters input,.filters select{min-height:44px}
 .circle-btn,.history-controls button,.close{min-width:44px;min-height:44px}
 .field input,.field select,.field textarea,.filters input,.filters select,.aiform input{font-size:16px}
 .calendar{min-width:0}.calday{padding:7px;min-height:110px}.event{font-size:10px;padding:7px;overflow-wrap:anywhere}
 .globe-stage{min-height:420px}.globe-top{padding:20px}.globe-stage #globeHost{margin-top:0}
 .globe-controls{position:relative;left:auto;bottom:auto;padding:0 20px;flex-wrap:wrap}
 .globe-caption{padding:14px 20px;flex-wrap:wrap}.globe-top h2{font-size:22px}
 .continuity-hint{display:none}
}
@media(max-width:900px){
 .topbar .breadcrumb{display:none}.grid-two{grid-template-columns:minmax(0,1fr)}
 .globe-layout{grid-template-columns:minmax(0,1fr)}.globe-stage{min-height:0}.globe-stage svg{max-height:520px}
 .globe-top{padding-bottom:0}.globe-stage #globeHost{margin-top:-12px}
 .grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat .value{font-size:clamp(21px,3.6vw,29px);overflow-wrap:anywhere}
 .source-strip{align-items:flex-start;gap:12px}.source-strip>div{flex:1 1 100%}
}
@media(max-width:600px){
 .content{padding:18px 12px}.topbar{padding:8px 10px;gap:6px}
 .toptools{gap:5px;flex:1;justify-content:flex-end}.topbar .avatar{display:none}
 .searchbtn{width:40px;min-width:40px;min-height:44px;padding:10px}.searchbtn span,.searchbtn kbd{display:none}
 .profile-select{width:136px;max-width:136px;font-size:11px}
 .grid-three,.formgrid{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:1/-1}
 .pagehead{gap:14px}.pagehead h1{font-size:26px;line-height:1.3}.pagehead .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .pagehead .actions>.btn:only-child{grid-column:1/-1}
 .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.filters>*{width:100%;min-width:0}.filters>input:first-child{grid-column:1/-1}
 .filters select,.filters input{width:100%;max-width:100%}.toggle{max-width:100%;flex-wrap:wrap}.toggle button{flex:1}
 .toolbar>.toggle{width:100%}.panelbody,.clientcard{padding:16px}.panelhead{padding:16px}
 .banner .text{min-width:0;flex:1 1 100%}.banner .btn{margin-left:0}.clienthero{flex-wrap:wrap;gap:16px}
 .tablewrap table{min-width:540px}.tablewrap{border-bottom:2px solid #e7ecda}
 .column{width:min(280px,calc(100vw - 48px));min-width:min(280px,calc(100vw - 48px))}
 .calendar{display:block;min-width:0;border:0}.calhead,.calday.blank,.calday:not(:has(.event)){display:none}
 .calday{min-height:0;padding:14px;margin-bottom:10px;border:1px solid #e0e5d4;border-radius:9px}
 .daynum{display:block;font-size:13px;font-weight:600}.daynum:after{content:' de outubro'}
 .event{min-height:44px;font-size:12px;line-height:1.7;padding:10px;margin-top:8px}
 .calendarwrap{overflow:visible}.calday.today{border-left:3px solid #718332}
 dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:12px}
 .modalhead{padding:12px;gap:8px}.modalhead h2{font-size:15px;line-height:1.5}.modalbody{padding:14px}
 .modalfoot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.modalfoot>.btn:only-child{grid-column:1/-1}
 .modalfoot>.btn{width:100%;min-width:0}.paper{padding:16px}.paper h1{font-size:25px}.paper .paperband{margin:20px 0;padding:15px}
 .continuity{gap:10px}.history-controls{flex-shrink:0}.continuity nav{min-width:0;flex:1}.continuity nav strong{max-width:none;white-space:normal}
 .cityfacts{flex-wrap:wrap}.capital-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #ai{right:8px;left:8px;width:auto;max-width:none;height:75dvh}.aiform{padding:10px}.aimessages{padding:14px}
 #toast{width:max-content;max-width:calc(100vw - 24px);bottom:max(12px,env(safe-area-inset-bottom));line-height:1.7}
}
@media(max-width:360px){.profile-select{width:115px;max-width:115px}.stats{grid-template-columns:minmax(0,1fr)}.project-actions{grid-template-columns:minmax(0,1fr)}.demo{padding:0 8px}.toptools{gap:3px}.pagehead .actions{grid-template-columns:minmax(0,1fr)}}
.pilot-savebar{border:1px solid #ccd8a5;background:#f0f5df;padding:14px 16px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;align-items:center}.pilot-savebar strong{display:block;font-size:12px;line-height:1.8}.pilot-savebar small{display:block;font-size:9px;line-height:1.8;color:#697557;overflow-wrap:anywhere}.pilot-login{margin-top:28px}.pilot-demo{border-top:1px solid #ffffff25;margin-top:24px;padding-top:18px}.pilot-demo summary{cursor:pointer;font-size:11px;color:#c8cfb8;padding:8px 0;line-height:1.7}.pilot-demo form{margin-top:16px}@media(max-width:600px){.pilot-savebar>.actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.pilot-savebar>.actions>.primary{grid-column:1/-1}.pilot-savebar{padding:12px}}

.media-editor{margin:22px 0}.media-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:12px;align-items:end;border-bottom:1px solid #ddd;padding:12px 0;margin-bottom:12px}.media-row input{width:100%;min-width:0}.media-links{display:grid;gap:10px;margin:12px 0}.media-link{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #ccd1c1;border-radius:12px;color:inherit;background:#f8faef;text-decoration:none;white-space:normal;overflow-wrap:anywhere;min-width:0}.media-link:hover{border-color:#6b773a}.media-link:focus-visible{outline:2px solid #303d10;outline-offset:3px}.media-link span{font-size:12px;color:#586048}.media-link small{font-weight:600}.media-link strong{font-size:14px}@media(max-width:700px){.media-row{grid-template-columns:1fr}.media-row .btn{justify-self:start}.media-link{padding:12px}}

.permissions-editor{margin:24px 0;padding-top:12px;border-top:1px solid #d9dfcf}.permissions-table{width:100%;min-width:0!important}.permissions-table th{text-align:left;white-space:normal}.permissions-table td:last-child{width:130px;text-align:center}.permissions-table input[type=checkbox]{width:22px;height:22px;accent-color:#546228;cursor:pointer}.permissions-table label{display:block;padding:8px 0;cursor:pointer}.permission-section th{background:#edf0e4;font-weight:700;padding:12px}.permission-summary{max-width:440px;white-space:normal;line-height:1.6}.permissions-editor .actions{flex-wrap:wrap}@media(max-width:600px){.permissions-table td:last-child{width:84px}.permissions-table th,.permissions-table td{padding:8px}.permissions-editor .btn{white-space:normal}}

.member-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.member-nav{padding:24px;border-right:1px solid #ddd;background:#f4f5ee;overflow-wrap:anywhere}.member-nav nav{margin:24px 0}.member-nav .nav{width:100%;white-space:normal;text-align:left}.member-shell summary{cursor:pointer}.member-shell textarea{min-height:100px}@media(max-width:800px){.member-shell{grid-template-columns:1fr}.member-nav nav{display:flex;overflow-x:auto;gap:8px;max-width:100%;margin:12px 0}.member-nav .nav{min-width:150px}.member-nav{padding:16px}.member-shell .content{padding:18px}}
